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中global与nonlocal比较
Nov 21 Python
在Python中操作字典之update()方法的使用
May 22 Python
python中执行shell的两种方法总结
Jan 10 Python
python简单线程和协程学习心得(分享)
Jun 14 Python
Python数据可视化编程通过Matplotlib创建散点图代码示例
Dec 09 Python
Selenium 模拟浏览器动态加载页面的实现方法
May 16 Python
Python实现的爬虫刷回复功能示例
Jun 07 Python
Python数据可视化之画图
Jan 15 Python
python删除列表元素的三种方法(remove,pop,del)
Jul 22 Python
在Python中使用turtle绘制多个同心圆示例
Nov 23 Python
Tensorflow 1.0之后模型文件、权重数值的读取方式
Feb 12 Python
python入门之井字棋小游戏
Mar 05 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 阴历-农历-转换类代码
2012/01/16 PHP
php中使用接口实现工厂设计模式的代码
2012/06/17 PHP
根据中文裁减字符串函数的php代码
2013/12/03 PHP
php输入数据统一类实例
2015/02/23 PHP
获取服务器传来的数据 用JS去空格的正则表达式
2012/03/26 Javascript
javascript中数组方法汇总
2015/07/07 Javascript
使用 JavaScript 进行函数式编程 (一) 翻译
2015/10/02 Javascript
JavaScript鼠标特效大全
2016/09/13 Javascript
js获取指定字符前/后的字符串简单实例
2016/10/27 Javascript
C#微信小程序服务端获取用户解密信息实例代码
2017/03/10 Javascript
jquery实现静态搜索功能(可输入搜索文字)
2017/03/28 jQuery
JavaScript实现二叉树的先序、中序及后序遍历方法详解
2017/10/26 Javascript
layui获取多选框中的值方法
2018/08/15 Javascript
Vue引入Stylus知识点总结
2020/01/16 Javascript
javascript设计模式之迭代器模式
2020/01/30 Javascript
前端开发基础javaScript的六大作用
2020/08/06 Javascript
详细分析JavaScript中的深浅拷贝
2020/09/17 Javascript
[02:53]DOTA2亚洲邀请赛 NewBee战队巡礼
2015/02/03 DOTA
[01:32]DOTA2上海特锦赛现场采访:最想COS的英雄
2016/03/25 DOTA
Python实现的金山快盘的签到程序
2013/01/17 Python
Python中用于检查英文字母大写的isupper()方法
2015/05/19 Python
python Pygame的具体使用讲解
2017/11/03 Python
Python 字符串操作(string替换、删除、截取、复制、连接、比较、查找、包含、大小写转换、分割等)
2018/03/19 Python
python 8种必备的gui库
2020/08/27 Python
HTML5学习笔记之html5与传统html区别
2016/01/06 HTML / CSS
美国医疗用品、医疗设备和家庭保健用品商店:Medical Supply Depot
2018/07/08 全球购物
匡威德国官网:Converse德国
2019/01/26 全球购物
雷曼兄弟的五金店:Lehman’s Hardware Store
2019/04/10 全球购物
美国鲜花递送:UrbanStems
2021/01/04 全球购物
俄罗斯三星品牌商店:GalaxyStore
2020/11/04 全球购物
妇女儿童发展规划实施方案
2014/03/16 职场文书
2015欢度元旦标语口号
2014/12/09 职场文书
干部考察材料范文
2014/12/24 职场文书
2015年南京大屠杀纪念日活动总结
2015/03/24 职场文书
古诗文之爱国名句(77句)
2019/09/24 职场文书
CSS实现两列布局的N种方法
2021/08/02 HTML / CSS