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去掉字符串中空格的方法
Mar 11 Python
Python中的jquery PyQuery库使用小结
May 13 Python
Python中的多重装饰器
Apr 11 Python
编写Python脚本把sqlAlchemy对象转换成dict的教程
May 29 Python
Python设计模式之适配器模式原理与用法详解
Jan 15 Python
Python-ElasticSearch搜索查询的讲解
Feb 25 Python
Python 学习教程之networkx
Apr 15 Python
Pycharm简单使用教程(入门小结)
Jul 04 Python
python绘制多个子图的实例
Jul 07 Python
python求前n个阶乘的和实例
Apr 02 Python
Python colormap库的安装和使用详情
Oct 06 Python
Python Selenium破解滑块验证码最新版(GEETEST95%以上通过率)
Jan 29 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 ci框架验证码实例分析
2013/06/26 PHP
php判断手机访问还是电脑访问示例分享
2014/01/20 PHP
用php来限制每个ip每天浏览页面数量的实现思路
2015/02/24 PHP
phpcms中的评论样式修改方法
2016/10/21 PHP
精通JavaScript 纠正 cleanWhitespace函数
2010/03/11 Javascript
用示例说明filter()与find()的用法以及children()与find()的区别分析
2013/04/26 Javascript
javascript使用switch case实现动态改变超级链接文字及地址
2014/12/16 Javascript
JavaScript插件化开发教程(五)
2015/02/01 Javascript
JS+CSS实现的拖动分页效果实例
2015/05/11 Javascript
浅谈javascript的Array.prototype.slice.call
2015/08/31 Javascript
谷歌showModalDialog()方法不兼容出现对话窗口的解决办法
2016/02/15 Javascript
javascript 显示全局变量与隐式全局变量的区别
2017/02/09 Javascript
基于openlayers4实现点的扩散效果
2020/08/17 Javascript
JS实现模糊查询带下拉匹配效果
2018/06/21 Javascript
jQuery轮播图实例详解
2018/08/15 jQuery
小程序实现日历左右滑动效果
2019/10/21 Javascript
Python基于pygame实现的font游戏字体(附源码)
2015/11/11 Python
Python过滤txt文件内重复内容的方法
2018/10/21 Python
python判断完全平方数的方法
2018/11/13 Python
用python一行代码得到数组中某个元素的个数方法
2019/01/28 Python
Python实现数据结构线性链表(单链表)算法示例
2019/05/04 Python
python3.6环境安装+pip环境配置教程图文详解
2019/06/20 Python
python如何实现从视频中提取每秒图片
2020/10/22 Python
Django CBV类的用法详解
2019/07/26 Python
pytorch实现用CNN和LSTM对文本进行分类方式
2020/01/08 Python
在TensorFlow中屏蔽warning的方式
2020/02/04 Python
python中pickle模块浅析
2020/12/29 Python
世界上最大的糖果店:Dylan’s Candy Bar
2017/11/07 全球购物
Ariat官网:美国马靴和服装品牌
2019/12/16 全球购物
秋天的怀念教学反思
2014/04/28 职场文书
2014年计生工作总结
2014/11/21 职场文书
圆明园纪录片观后感
2015/06/03 职场文书
学校财务管理制度
2015/08/04 职场文书
2016年党校科级干部培训班学习心得体会
2016/01/06 职场文书
《地。-关于地球的运动-》单行本第七集上市,小说家朝井辽献上期待又害怕的推荐文
2022/03/31 日漫
解决Oracle数据库用户密码过期
2022/05/11 Oracle