pywebsocket的搭建及使用

一、搭建pywebsocket服务

1.下载pywebsocket:

git clone https://github.com/googlearchive/pywebsocket

这里将代码下载到了/usr/local/pywebsocket该目录,但git时会自动创建pywebsocket。所以这里就变成了两个相同的目录。由于比较懒,就懒得挪了。

2.安装pywebsocket
进入pywebsocket主目录中,输入以下命令:

python setup.py build
sudo python setup.py install

3.测试pywebsocket是否安装成功
首先进入子目录pywebsocket/mod_pywebsocket

sudo python standalone.py -p 81 -w ../example/

在example中有很多的py示例脚本。在js中可以做对接使用。接下来介绍如何测试js。

二、使用测试pywebsocket

直接上js脚本(这里对接的是echo_wsh.py脚本):

//这是初始化代码,用来建立websocket用的
var ws = new WebSocket("ws://192.168.0.105:81/echo");

//设置WebSocket回调函数(这些函数都是被动触发的,只有收到对应事件才会回调)
ws.onopen = function()
{
    alert("建立连接");
};

ws.onmessage = function (evt) 
{ 
    var received_msg = evt.data;
    alert("接收到数据:["+received_msg+"]");
};

ws.onclose = function()
{ 
    alert("连接已关闭"); 
};
//这是用来发送的函数
ws.send("这是一个发送的数据包");

上面的就是js中的测试代码了,可以直接连接服务器进行测试。如果要看对应的python代码,可以在pywebsocket/example目录中查看对应脚本。例如:本文用到的echo_wsh.py。

注意:上面的初始化代码是不阻塞的,设置完回调直接就过了。当socket建立后会调用回调函数onopen。相反,关闭调用onclose。

三、在linux上创建pywebsocket服务

上面的搭建好的pywebsocket仅仅只是个脚本而已,每次都要手动启动。所以这里将其创建为系统服务,随系统自启动。

1.创建服务启动文件:

vim /usr/lib/systemd/system/pywebsocket.service

内容如下:

[Unit]
Description=websocket service
After=multi-user.target

[Service]
Type=idle
ExecStart=/usr/bin/python /usr/local/pywebsocket/pywebsocket/mod_pywebsocket/standalone.py -p 81 -w /home/WebSocketProject/
ExecStop=/bin/kill -15 $MAINPID 

[Install]
WantedBy=multi-user.target

Description:服务描述,自己修改。
ExecStart:是启动命令行,所有路径都要用绝对路径,可以根据自己的路径做修改。
其他项不改。

建立好服务文件后就可以开始配置服务了,命令如下:

//更改文件权限
sudo chmod 644 /usr/lib/systemd/system/pywebsocket.service
//重新加载服务配置
systemctl daemon-reload
//设置为开机启动
systemctl enable pywebsocket.service
//启动服务
systemctl start pywebsocket.service
//显示所有服务状态
systemctl list-units --type=service
  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

孤月丶星辰

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值