Python——eventlet.websocket
使用该模块可以方便地创建 websocket 服务器,要创建一个websocket服务器,只需要将一个句柄函数用装饰器 WebSocketWSGI 装饰即可,然后这个函数就可以当做一个WSGI应用:
from eventlet import wsgi, websocket
import eventlet@websocket.WebSocketWSGI
def hello_world(ws):ws.send("hello world")wsgi.server(eventlet.listen(('', 8090)), hello_world)
注:Please see graceful termination warning in server() documentation
You can find a slightly more elaborate version of this code in the file examples/websocket.py.
As of version 0.9.13, eventlet.websocket supports SSL websockets; all that’s necessary is to use an SSL wsgi server.
class eventlet.websocket.WebSocketWSGI(handler)
在一个 WSGI 应用中包裹一个websocket句柄函数
示例:
@websocket.WebSocketWSGI
def my_handler(ws):from_browser = ws.wait()ws.send("from server")
参数是 WebSocket 实例,从函数中返回就会关闭 socket,服务器会在关闭时记录websocket的请求
class eventlet.websocket.WebSocket(sock, environ, version=76)
一个 websocket 对象,处理套接字的 serialization/deserialization 细节
与一个 WebSocket 对象交互的主要手段是调用 send() 和 wait(),通过该调用可以与浏览器之间进行消息传递,下面的属性也可用:
path
请求的路径值,等同于 WSGI PATH_INFO 变量,但是更方便
protocol
Websocket-Protocol 头字段的值
origin
‘Origin’ 头字段的值
environ
该请求的完整 WSGI 环境
close()
强制关闭 websocket; generally it is preferable to return from the handler method.
send(message)
向浏览器发送一个消息
message 应被转化成一个字符串, unicode 对象应被编码为 utf-8。如果套接字已经被客户端关闭,抛出异常 socket.error 和 errno 32 (broken pipe)
wait()
等待和反序列化消息
返回最久没有被处理的那条消息。如果客户端关闭了连接,返回 None,不同于普通的套接字行为因为空字符串也是有效的websocket消息。
Python——eventlet.websocket相关推荐
- Python -eventlet
Python--eventlet eventlet语境下的"绿色线程"普通线程之间的区别: 1. 绿色线程几乎没有开销,不用像保留普通线程一样保留"绿色线程", ...
- 用python实现websocket请求遇到的问题及解决方法。
用python实现websocket请求遇到的问题及解决方法. 参考文章: (1)用python实现websocket请求遇到的问题及解决方法. (2)https://www.cnblogs.com/ ...
- Python进行websocket接口测试
Python进行websocket接口测试 Nikon937 Python进行websocket接口测试 - 简书 我们在做接口测试时,除了常见的http接口,还有一种比较多见,就是socket接口, ...
- python实现websocket服务端
2019独角兽企业重金招聘Python工程师标准>>> ws.py是服务端,文件内容如下 #!/usr/bin/env python import socket import bas ...
- python requests发送websocket_Pywss - 用python实现WebSocket服务端
一种类似Flask开发的WebSocket-Server服务端框架,适用python3.X 1.安装模块Pywss pip install pywss 2.搭建简易服务器 2.1 服务端代码 代码简介 ...
- python之websocket
一.websocket WebSocket协议是基于TCP的一种新的协议.WebSocket最初在HTML5规范中被引用为TCP连接,作为基于TCP的套接字API的占位符.它实现了浏览器与服务器全双工 ...
- Python——eventlet.wsgi
eventlet 的 wsgi 模块提供了一种启动事件驱动的WSGI服务器的简洁手段,可以将其作为某个应用的嵌入web服务器,或作为成熟的web服务器,一个这样的web服务器的例子就是 Spawnin ...
- Python之WebSocket协议
一.WebSocket理论部分 1.websocket是什么 Websocket是html5提出的一个协议规范,参考rfc6455. websocket约定了一个通信的规范,通过一个握手的机制,客户端 ...
- 网上测试了很多关于PYTHON的WEBSOCKET样例,下面这个才成功了
这是最底层的, 嘿嘿,我 还是习惯搞个框架来实现急需要的功能... 这个东东玩得很有意思的.. 服务器端的代码: import simplejson import socket import sys ...
最新文章
- androidwakelock_Android音频播放时wakelock的实现
- JDK8:Lambda表达式操作List集合
- mmz-asio4delphi死链接的解决办法
- MySQL 优化原理(二)
- docker电子书_果然!这10个Docker容器坑多数人都中招过
- php怎样传数据到html代码,传递数据到PHP文件与HTML模板
- 任务计划、chkconfig工具、systemd管理服务、unit、target
- vdp备份oracle系统,VDP文件级恢复需要在用VDP备份的机器上浏览
- Linux学习总结(44)——Linux操作系统基础知识
- 行星齿轮设计_3D打印用于制造刚度平衡的行星架
- 接口参数,get和post
- c++注释快捷键_是不是晚了点:Visual Studio可以自动生成注释啦!
- UITableView设置背景为透明时遇到的问题
- 如何使用 ggplot2 ?
- Spring之AOP面向切面编程
- 全网首发:WINDOWS某些文件夹,提供管理员权限后也无法删除,正确解决办法
- 浙江工业大学计算机学院的博士招生,浙江工业大学计算机科学与技术学院、软件学院...
- 新版Android使用微桌面,微桌面是什么?微信正开发安卓“微桌面”
- 继电器触点RC吸收电路
- java smtp.126.com_Java采用SMTP协议发送邮件 | 学步园