1、websocket-server

https://github.com/google/pywebsocket

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

python setup.py install

python ./mod_pywebsocket/standalone.py -p 9998 -w ./example/

2、websocket-client

https://pypi.org/project/websocket_client/

import websocket
import threading
from threading import Thread
import time
import sys def timer_cb():
print("### timer_cb ###")
global timer
timer = threading.Timer(1,timer_cb)
timer.start() def on_message(ws, message):
print(message) def on_error(ws, error):
print(error) def on_close(ws):
print("### closed ###") def on_open(ws):
def run(*args):
"""
for i in range(3):
# send the message, then wait
# so thread doesn't exit and socket
# isn't closed
ws.send("Hello %d" % i)
time.sleep(1) time.sleep(1)
ws.close()
print("Thread terminating...")
"""
timer = threading.Timer(1,timer_cb)
timer.start() Thread(target=run).start() if __name__ == "__main__":
websocket.enableTrace(False)
if len(sys.argv) < 2:
host = "ws://localhost:9998/echo"
else:
host = sys.argv[1]
ws = websocket.WebSocketApp(host,
on_message=on_message,
on_error=on_error,
on_close=on_close)
ws.on_open = on_open
ws.run_forever()

python echoapp_client.py

3、html的客户端,用作测试非常方便

pywebsocket-master\example/console.html

ws://localhost:9998/echo

ws://127.0.0.1:9998/echo

4、应用,移植

1) 因为需要用到3des + base64 + md5 加密,所以需要安装pycrypto库,

pycrypto库是个c和python复合型的库,需要编译,编译需要python-dev,所以系统必须要先安装python-dev

sudo apt-get install python-dev

2) 安装python虚拟机
sudo apt-get install python-pip
sudo pip install virtualenv

在python虚拟机里安装应用程序库
pip install websocket-client
pip install pycrypto

3) 可以启动应用程序了

virtualenv -p /usr/bin/python env
source env/bin/activate

(env) dong@ubuntu:~/sip_ws$ python sip_ws.py
 z1
{clientType":1,"userPrivileges":null,"isDeviceLogin":false,"isNeedSelectUser":false,"userRoleType":3,"isDoSuf":true,"failedInfo":"登录成功!","protocolHead":"gis_fl","protocolType":1000006}

5、websocke服务器t并发测试工具

https://github.com/chenmingle/test_websocket/blob/master/test_websocket.py

websocket(python)的更多相关文章

  1. websocket python实现原理

    """ pip install ws4py """ import json from ws4py.client.threadedclient ...

  2. Python如何爬取实时变化的WebSocket数据【华为云技术分享】

    一.前言 作为一名爬虫工程师,在工作中常常会遇到爬取实时数据的需求,比如体育赛事实时数据.股市实时数据或币圈实时变化的数据.如下图: Web 领域中,用于实现数据'实时'更新的手段有轮询和 WebSo ...

  3. Python如何爬取实时变化的WebSocket数据

    一.前言 作为一名爬虫工程师,在工作中常常会遇到爬取实时数据的需求,比如体育赛事实时数据.股市实时数据或币圈实时变化的数据.如下图: Web 领域中,用于实现数据'实时'更新的手段有轮询和 WebSo ...

  4. 爬取实时变化的 WebSocket 数据(转载)

    本文转自:https://mp.weixin.qq.com/s/fuS3uDvAWOQBQNetLqzO-g 一.前言 作为一名爬虫工程师,在工作中常常会遇到爬取实时数据的需求,比如体育赛事实时数据. ...

  5. [tornado]使用webscoket的使用总是403错误

    使用的tornado版本为4.0+ 后台: PS D:\CodeHouse\tornado\websocket> python .\ws_app.py WARNING:tornado.acces ...

  6. Python基于websocket实时通信的实现—GoEasy

    Python websocket实时消息推送 在这里我记录一下之前如何实现服务器端与客户端实时通信: 实现步骤如下: 1.        获取GoEasy appkey. 在goeasy官网上注册一个 ...

  7. python tornado websocket 多聊天室(返回消息给部分连接者)

    python tornado 构建多个聊天室, 多个聊天室之间相互独立, 实现服务器端将消息返回给相应的部分客户端! chatHome.py // 服务器端, 渲染主页 --> 聊天室建立web ...

  8. websocket for python

    https://github.com/aaugustin/websockets server.py #!/usr/bin/env python import asyncioimport websock ...

  9. python测试基于websocket协议的即时通讯接口

    随着html5的广泛应用,基于websocket协议的即时通讯有了越来越多的使用场景,本文使用python中的websocket-client模块来做相关的接口测试 import webclient ...

随机推荐

  1. [BZOJ3626] [LNOI2014] LCA 离线 树链剖分

    题面 考虑到询问的\(l..r,z\)具有可减性,考虑把询问差分掉,拆成\(r,z\)和\(l-1,z\). 显然这些LCA一定在\(z\)到根的路径上.下面的问题就是怎么统计. 考虑不是那么暴力的暴 ...

  2. git基础常用命令

    常用命令 git init //初始化本地git环境 git clone XXX//克隆一份代码到本地仓库 git pull //把远程库的代码更新到工作台 git pull --rebase ori ...

  3. LinuxMySQL主从复制原理图

    主库开启dump线程 从bin-log中取出数据 从库开启io线程和sql线程   io线程不断从主库中的dump线程中那到最新的bin-log和io线程中的master-info的数据进行比较,如果 ...

  4. Codeforces Round #578 (Div. 2) E. Compress Words (双哈希)

    题目:https://codeforc.es/contest/1200/problem/E 题意:给你n个单词,你需要把他合成成一个句子,相邻的两个单词,相邻部分相同的话可以把其中一个的删掉 思路:因 ...

  5. 2019 牛客暑期多校 第二场 H Second Large Rectangle (单调栈)

    题目:https://ac.nowcoder.com/acm/contest/882/H 题意:一个大的01矩阵,然后现在要求第二大的全一矩阵是多少 思路:在这里我们首先学习一下另一个东西,怎么求直方 ...

  6. [HDU2604]Queuing

    题目:Queuing 链接:http://acm.hdu.edu.cn/showproblem.php?pid=2604 分析: 1)将当前格和上一格合并当作一个状态,考虑下一个格子放0(m)还是1( ...

  7. soj#532 set p3175

    传送门 分析 代码 #include<bits/stdc++.h> using namespace std; ; <<],Ans; int n,m,N; inline int ...

  8. windows10激活

    (1).首先,我们先查看一下Win10正式专业版系统的激活状态:按住win+r键,运行命令提示符,输入slmgr.vbs -xpr,点击确定,查看系统的状态是什么时候到期或者是处于通知状态. (2). ...

  9. cnn模型

    https://blog.csdn.net/qq_26591517/article/details/79805884

  10. zabbix部署agent

    1.下载zabbix源 rpm -Uvh https://repo.zabbix.com/zabbix/4.2/rhel/7/x86_64/zabbix-release-4.2-2.el7.noarc ...