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 10 Python
Python argv用法详解
Jan 08 Python
Python入门_浅谈数据结构的4种基本类型
May 16 Python
Python正确重载运算符的方法示例详解
Aug 27 Python
Tensorflow 同时载入多个模型的实例讲解
Jul 27 Python
python2.7实现邮件发送功能
Dec 12 Python
Python实现E-Mail收集插件实例教程
Feb 06 Python
对django的User模型和四种扩展/重写方法小结
Aug 17 Python
python tkinter基本属性详解
Sep 16 Python
pip install python 快速安装模块的教程图解
Oct 08 Python
使用Djongo模块在Django中使用MongoDB数据库
Jun 20 Python
Python 详解通过Scrapy框架实现爬取CSDN全站热榜标题热词流程
Nov 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防攻击代码升级版
2010/12/29 PHP
php环境配置之CGI、FastCGI、PHP-CGI、PHP-FPM、Spawn-FCGI比较?
2011/10/17 PHP
PHP创建文件,并向文件中写入数据,覆盖,追加的实现代码
2016/03/25 PHP
php+javascript实现的动态显示服务器运行程序进度条功能示例
2017/08/07 PHP
JS实现一键回顶功能示例代码
2013/10/28 Javascript
display和visibility的区别示例介绍
2014/02/26 Javascript
js实现从数组里随机获取元素
2015/01/12 Javascript
深入理解JavaScript系列(17):面向对象编程之概论详细介绍
2015/03/04 Javascript
jquery制作多功能轮播图插件
2015/04/02 Javascript
JavaScript提升性能的常用技巧总结【经典】
2016/06/20 Javascript
Bootstrap输入框组件简单实现代码
2017/03/06 Javascript
Vue实现购物车功能
2017/04/27 Javascript
Angularjs 双向绑定时字符串的转换成数字类型的问题
2017/06/12 Javascript
VUE2 前端实现 静态二级省市联动选择select的示例
2018/02/09 Javascript
bootstrapTable+ajax加载数据 refresh更新数据
2018/08/31 Javascript
vue多级复杂列表展开/折叠及全选/分组全选实现
2018/11/05 Javascript
vue缓存的keepalive页面刷新数据的方法
2019/04/23 Javascript
Vue中实现权限控制的方法示例
2019/06/07 Javascript
JS实现transform实现扇子效果
2020/01/17 Javascript
浅谈vue项目利用Hbuilder打包成APP流程,以及遇到的坑
2020/09/12 Javascript
python输出当前目录下index.html文件路径的方法
2015/04/28 Python
Python中urllib+urllib2+cookielib模块编写爬虫实战
2016/01/20 Python
Python的装饰器用法学习笔记
2016/06/24 Python
python 获取毫秒数,计算调用时长的方法
2019/02/20 Python
python3发送邮件需要经过代理服务器的示例代码
2019/07/25 Python
python读取Excel表格文件的方法
2019/09/02 Python
Django自关联实现多级联动查询实例
2020/05/19 Python
使用PyCharm安装pytest及requests的问题
2020/07/31 Python
芬兰设计商店美国:Finnish Design Shop US
2019/03/25 全球购物
用JAVA实现一种排序,JAVA类实现序列化的方法(二种)
2014/04/23 面试题
美术师范毕业生自荐信
2013/11/16 职场文书
应届毕业生求职信范文
2013/12/18 职场文书
大学生先进事迹材料
2014/02/16 职场文书
学习保证书范文
2014/04/30 职场文书
一文搞懂Golang 时间和日期相关函数
2021/12/06 Golang
bootstrapv4轮播图去除两侧阴影及线框的方法
2022/02/15 HTML / CSS