websocket(python)
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)的更多相关文章
- websocket python实现原理
""" pip install ws4py """ import json from ws4py.client.threadedclient ...
- Python如何爬取实时变化的WebSocket数据【华为云技术分享】
一.前言 作为一名爬虫工程师,在工作中常常会遇到爬取实时数据的需求,比如体育赛事实时数据.股市实时数据或币圈实时变化的数据.如下图: Web 领域中,用于实现数据'实时'更新的手段有轮询和 WebSo ...
- Python如何爬取实时变化的WebSocket数据
一.前言 作为一名爬虫工程师,在工作中常常会遇到爬取实时数据的需求,比如体育赛事实时数据.股市实时数据或币圈实时变化的数据.如下图: Web 领域中,用于实现数据'实时'更新的手段有轮询和 WebSo ...
- 爬取实时变化的 WebSocket 数据(转载)
本文转自:https://mp.weixin.qq.com/s/fuS3uDvAWOQBQNetLqzO-g 一.前言 作为一名爬虫工程师,在工作中常常会遇到爬取实时数据的需求,比如体育赛事实时数据. ...
- [tornado]使用webscoket的使用总是403错误
使用的tornado版本为4.0+ 后台: PS D:\CodeHouse\tornado\websocket> python .\ws_app.py WARNING:tornado.acces ...
- Python基于websocket实时通信的实现—GoEasy
Python websocket实时消息推送 在这里我记录一下之前如何实现服务器端与客户端实时通信: 实现步骤如下: 1. 获取GoEasy appkey. 在goeasy官网上注册一个 ...
- python tornado websocket 多聊天室(返回消息给部分连接者)
python tornado 构建多个聊天室, 多个聊天室之间相互独立, 实现服务器端将消息返回给相应的部分客户端! chatHome.py // 服务器端, 渲染主页 --> 聊天室建立web ...
- websocket for python
https://github.com/aaugustin/websockets server.py #!/usr/bin/env python import asyncioimport websock ...
- python测试基于websocket协议的即时通讯接口
随着html5的广泛应用,基于websocket协议的即时通讯有了越来越多的使用场景,本文使用python中的websocket-client模块来做相关的接口测试 import webclient ...
随机推荐
- MYSQL5.7版本sql_mode=only_full_group_by问题,重启有效的方法
1./etc/mysql/mysql.conf.d/mysqld.cnf 或者my.cnf 总之就是mysql的配置文件 2.查看当前的sql模式 select @@sql_mode; 3.添加语 ...
- Nginx环境部署
下载Nginx wget nginx.tar.gz http://nginx.org/download/nginx-1.17.1.tar.gz 解压源码 tar -zxvf nginx-1.17.1. ...
- Java中的String、StringBuffer、StringBuilder区别以及Java之StringUtils的用法
1.String.StringBuffer.StringBuilder的区别 String是Java中基础类型,是immutable类(不可变)的典型实现,利用string进行拼接是会产生过多无用对象 ...
- js中require()的用法----JS如何连接数据库执行sql语句或者建立数据库连接池
var vue = require('vue'); 引入vue的意思,commonjs的写法.node都是用require来载入模块的,可以看看webpack+vue. require()可以调用模块 ...
- tensorflow函数介绍(1)
tensorflow中的tensor表示一种数据结构,而flow则表现为一种计算模型,两者合起来就是通过计算图的形式来进行计算表述,其每个计算都是计算图上的一个节点,节点间的边表示了计算之间的依赖关系 ...
- [CSP-S模拟测试]:小奇的仓库(warehouse)(树形DP)
题目背景 小奇采的矿实在太多了,它准备在喵星系建个矿石仓库.令它无语的是,喵星系的货运飞船引擎还停留在上元时代! 题目描述 喵星系有$n$个星球,星球以及星球间的航线形成一棵树.从星球$a$到星球$b ...
- Autoresize UIView to fit subviews
@interface UIView (resizeToFit) -(void)resizeToFitSubviews; -(void)resizeHightToFitSubviews; -(void) ...
- 2018-2019-2 20175307实验三《敏捷开发与XP实践》实验报告
实验三 敏捷开发与XP实践-1 1.仔细学习了http://www.cnblogs.com/rocedu/p/4795776.html,发布了一篇关于Google的Java编码的博客,具体内容就不在这 ...
- 像这样玩C#【转】,觉得文章写的不错就转来啦!版权不在我
我们玩技术,不是被技术玩.Coding是快乐的,而非苦逼的..Net/C# 这个神器竟然天天有人吐槽.看不下去鸟. 在top10语言中,C#是最优美的语言,没有之一.在top10语言中,C#所可用的标 ...
- nlp学习笔记
https://mp.weixin.qq.com/s/-w4gENfBt2gKOPvghenw9w