python实现WebSocket服务端过程解析


Posted in Python onOctober 18, 2019

一种类似Flask开发的WebSocket-Server服务端框架,适用python3.X

1、安装模块Pywss

pip install pywss

2、搭建简易服务器

2.1 服务端代码

代码简介

route: 注册请求路径

example_1(request, data):

request: socket句柄,能够发送和接收数据接。发送数据request.ws.send(data),收数据request.ws_recv(1024)

data: 客户端发送的数据存于此处

from pywss import Pyws, route

@route('/test/example/1')
def example_1(request, data):
  return data + ' - data from pywss'

if __name__ == '__main__':
  ws = Pyws(__name__, address='127.0.0.1', port=8866)
  ws.serve_forever()

2.2 客户端代码

客户端代码,建议直接在浏览器中运行,eg: Chorme打开新标签 -> F12 -> console
代码简介

WebSocket(ws_url): 发起协议升级为WebSocket连接请求,ws_url路径不要写错咯,要与服务端中的route()中注册路径对应起来

ws.onmessage: 当有数据传递过来时,会执行此函数

ws.onclose: 当连接断开时,会执行此函数

ws.onopen: 当连接建立的时候,会执行此函数

ws = new WebSocket("ws://127.0.0.1:8866/test/example/1");
ws.onmessage = function (ev) {
  console.log(JSON.parse(ev.data));
}
ws.onclose = function (ev) {
  console.log('Connect Closed')
}
ws.onopen = function() {
  if (ws.readyState === WebSocket.OPEN) {
    ws.send('hello, pywss!') // you will get 'hello, pywss! - data from pywss'
  }
}

运行截图:

服务端:

python实现WebSocket服务端过程解析

客户端:

python实现WebSocket服务端过程解析

github中还有5个例子,项目地址: https://github.com/CzaOrz/Pywss

如果觉得还不错,不妨give me start~鼓励下这个小码农QAQ

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python编程实现粒子群算法(PSO)详解
Nov 13 Python
解决Python 爬虫URL中存在中文或特殊符号无法请求的问题
May 11 Python
python计算日期之间的放假日期
Jun 05 Python
python 对dataframe下面的值进行大规模赋值方法
Jun 09 Python
django框架使用方法详解
Jul 18 Python
tf.concat中axis的含义与使用详解
Feb 07 Python
pycharm下配置pyqt5的教程(anaconda虚拟环境下+tensorflow)
Mar 25 Python
Python函数参数分类原理详解
May 28 Python
pycharm软件实现设置自动保存操作
Jun 08 Python
Python基础之hashlib模块详解
May 06 Python
解决Pytorch修改预训练模型时遇到key不匹配的情况
Jun 05 Python
Pygame Rect区域位置的使用(图文)
Nov 17 Python
django实现支付宝支付实例讲解
Oct 17 #Python
python通过实例讲解反射机制
Oct 17 #Python
python集合常见运算案例解析
Oct 17 #Python
Pandas聚合运算和分组运算的实现示例
Oct 17 #Python
18个Python脚本可加速你的编码速度(提示和技巧)
Oct 17 #Python
python numpy中cumsum的用法详解
Oct 17 #Python
python hashlib加密实现代码
Oct 17 #Python
You might like
利用phpexcel把excel导入数据库和数据库导出excel实现
2014/01/09 PHP
PHPExcel读取EXCEL中的图片并保存到本地的方法
2015/02/14 PHP
yii实现使用CUploadedFile上传文件的方法
2015/12/28 PHP
PHP获取访问设备信息的方法示例
2019/02/20 PHP
PHP实现的AES 128位加密算法示例
2019/09/16 PHP
无语,javascript居然支持中文(unicode)编程!
2007/04/12 Javascript
写了一个layout,拖动条连贯,内容区可为iframe
2007/08/19 Javascript
javascript getElementsByTagName
2011/01/31 Javascript
javascript中的void运算符语法及使用介绍
2013/03/10 Javascript
javascript关于运动的各种问题经典总结
2015/04/27 Javascript
使用jquery获取url及url参数的简单实例
2016/06/14 Javascript
详细探究ES6之Proxy代理
2016/07/22 Javascript
angular内置provider之$compileProvider详解
2017/09/27 Javascript
Vue项目分环境打包的实现步骤
2018/04/02 Javascript
深入理解js A*寻路算法原理与具体实现过程
2018/12/13 Javascript
vue element upload组件 file-list的动态绑定实现
2019/10/11 Javascript
webpack4 optimization使用总结
2019/11/10 Javascript
[00:32]2018DOTA2亚洲邀请赛EG出场
2018/04/03 DOTA
Python简单爬虫导出CSV文件的实例讲解
2018/07/06 Python
python使用matplotlib画饼状图
2018/09/25 Python
Ubuntu下升级 python3.7.1流程备忘(推荐)
2018/12/10 Python
10款最好的Python开发编辑器
2019/07/03 Python
Flask框架单例模式实现方法详解
2019/07/31 Python
使用Numpy对特征中的异常值进行替换及条件替换方式
2020/06/08 Python
关于python的缩进规则的知识点详解
2020/06/22 Python
让IE支持HTML5的方法
2012/12/11 HTML / CSS
Nobody Denim官网:购买高级女士牛仔裤
2021/03/15 全球购物
生物技术专业研究生自荐信
2013/09/22 职场文书
美发活动策划书
2014/01/14 职场文书
行政部工作岗位职责范本
2014/03/05 职场文书
高三高考决心书
2014/03/11 职场文书
给全校老师的建议书
2014/03/13 职场文书
爱耳日活动总结
2014/04/30 职场文书
音乐学专业求职信
2014/07/22 职场文书
2014教师党员自我评议(5篇)
2014/09/20 职场文书
2014年销售人员工作总结
2014/11/27 职场文书