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操作CouchDB数据库简单示例
Mar 10 Python
举例介绍Python中的25个隐藏特性
Mar 30 Python
python检查序列seq是否含有aset中项的方法
Jun 30 Python
详解Python的Django框架中inclusion_tag的使用
Jul 21 Python
详解Python 2.6 升级至 Python 2.7 的实践心得
Apr 27 Python
Django中cookie的基本使用方法示例
Feb 03 Python
mvc框架打造笔记之wsgi协议的优缺点以及接口实现
Aug 01 Python
在PyCharm中实现关闭一个死循环程序的方法
Nov 29 Python
Kears+Opencv实现简单人脸识别
Aug 28 Python
python 矢量数据转栅格数据代码实例
Sep 30 Python
python GUI库图形界面开发之PyQt5中QWebEngineView内嵌网页与Python的数据交互传参详细方法实例
Feb 26 Python
Python语言中的数据类型-序列
Feb 24 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框架插入一条或多条sql记录示例
2014/07/29 PHP
php中current、next与reset函数用法实例
2014/11/17 PHP
php微信开发之上传临时素材
2016/06/24 PHP
php redis实现文章发布系统(用户投票系统)
2017/03/04 PHP
tp5.1 实现setInc字段自动加1
2019/10/18 PHP
js 发个判断字符串是否为符合标准的函数
2009/04/27 Javascript
Jquery 常用方法经典总结
2010/01/28 Javascript
JavaScript 轻松搞定快捷留言功能 只需一行代码
2010/04/01 Javascript
页面回到顶部的三种实现(锚标记,js)
2012/10/01 Javascript
js导出table到excel同时兼容FF和IE示例
2013/09/03 Javascript
详解JavaScript中的every()方法
2015/06/08 Javascript
js实现可折叠展开的手风琴菜单效果
2015/09/07 Javascript
node.js插件nodeclipse安装图文教程
2020/10/19 Javascript
深入剖析javascript中的exec与match方法
2016/05/18 Javascript
浅谈JavaScript的计时器对象
2016/12/26 Javascript
Vue.js学习之计算属性
2017/01/22 Javascript
jQuery实现复选框的全选和反选
2017/02/02 Javascript
详解Javascript中DOM的范围
2017/02/13 Javascript
javascript DOM的详解及实例代码
2017/03/06 Javascript
浅谈JS函数节流防抖
2017/10/18 Javascript
Vue如何从1.0迁移到2.0
2017/10/19 Javascript
antd vue table跨行合并单元格,并且自定义内容实例
2020/10/28 Javascript
python中类的一些方法分析
2014/09/25 Python
Python自动化导出zabbix数据并发邮件脚本
2019/08/16 Python
python实现udp聊天窗口
2020/03/31 Python
Python配置pip国内镜像源的实现
2020/08/20 Python
pyspark对Mysql数据库进行读写的实现
2020/12/30 Python
使用CSS Grid布局实现网格的流动
2014/12/30 HTML / CSS
Nike台湾官方商店:Nike.com (TW)
2017/08/16 全球购物
Yves Rocher伊夫·黎雪美国官网:法国始创植物美肌1959
2019/01/09 全球购物
党支部书记岗位责任制
2014/02/11 职场文书
妇联领导班子剖析材料
2014/08/21 职场文书
经理岗位职责范本
2015/04/15 职场文书
元旦晚会主持词开场白
2015/05/28 职场文书
技术转让协议书
2016/03/19 职场文书
Mysql数据库值的添加、修改、删除及清空操作实例
2021/06/20 MySQL