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使用htmllib分析网页内容的方法
May 08 Python
Python排序搜索基本算法之希尔排序实例分析
Dec 09 Python
Python高级用法总结
May 26 Python
python高效过滤出文件夹下指定文件名结尾的文件实例
Oct 21 Python
python 实现交换两个列表元素的位置示例
Jun 26 Python
python重要函数eval多种用法解析
Jan 14 Python
Python图像处理库PIL的ImageDraw模块介绍详解
Feb 26 Python
Python多线程操作之互斥锁、递归锁、信号量、事件实例详解
Mar 24 Python
python+selenium+chromedriver实现爬虫示例代码
Apr 10 Python
浅谈python处理json和redis hash的坑
Jul 16 Python
python实现图片批量压缩
Apr 24 Python
解决Python保存文件名太长OSError: [Errno 36] File name too long
May 11 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
浅谈php命令行用法
2015/02/04 PHP
PHP安装GeoIP扩展根据IP获取地理位置及计算距离的方法
2016/07/01 PHP
PHP实现一维数组与二维数组去重功能示例
2018/05/24 PHP
PHP使用redis位图bitMap 实现签到功能
2019/10/08 PHP
JavaScript设计模式之策略模式实例
2014/10/10 Javascript
jQuery中:password选择器用法实例
2015/01/03 Javascript
深入探讨javascript中的数据类型
2015/03/04 Javascript
jQuery实现购物车数字加减效果
2015/03/14 Javascript
基于jQuery实现左右图片轮播(原理通用)
2015/12/24 Javascript
利用jQuery设计一个简单的web音乐播放器的实例分享
2016/03/08 Javascript
BootStrap和jQuery相结合实现可编辑表格
2016/04/21 Javascript
第二章之Bootstrap 页面排版样式
2016/04/25 Javascript
NodeJS实现客户端js加密
2017/01/09 NodeJs
React组件的三种写法总结
2017/01/12 Javascript
巧用weui.topTips验证数据的实例
2017/04/17 Javascript
vue页面使用阿里oss上传功能的实例(一)
2017/08/09 Javascript
详解Angular结合zTree异步加载节点数据
2018/01/20 Javascript
vue.js+element-ui动态配置菜单的实例
2018/09/07 Javascript
JavaScript代码实现微博批量取消关注功能
2021/02/05 Javascript
python多线程扫描端口示例
2014/01/16 Python
使用python绘制人人网好友关系图示例
2014/04/01 Python
Python 判断是否为质数或素数的实例
2017/10/30 Python
Python实现Kmeans聚类算法
2020/06/10 Python
利用Python半自动化生成Nessus报告的方法
2019/03/19 Python
python 求某条线上特定x值或y值的点坐标方法
2019/07/09 Python
python写入数据到csv或xlsx文件的3种方法
2019/08/23 Python
JD Sports马来西亚:英国领先的运动鞋和运动服饰零售商
2018/03/13 全球购物
美国班级戒指、帽子和礼服、毕业产品、年鉴:Balfour
2018/11/01 全球购物
New Balance德国官方网站:购买鞋子和服装
2019/08/31 全球购物
财务经理的岗位职责
2013/12/17 职场文书
工业设计专业个人求职信范文
2013/12/28 职场文书
银行学习十八大感想
2014/01/11 职场文书
2014年团总支工作总结
2014/11/21 职场文书
房屋质量投诉书
2015/07/02 职场文书
2015年教师节主持词
2015/07/03 职场文书
Python自动操作神器PyAutoGUI的使用教程
2022/06/16 Python