使用该模块可以方便地创建 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相关推荐

  1. Python -eventlet

    Python--eventlet eventlet语境下的"绿色线程"普通线程之间的区别: 1. 绿色线程几乎没有开销,不用像保留普通线程一样保留"绿色线程", ...

  2. 用python实现websocket请求遇到的问题及解决方法。

    用python实现websocket请求遇到的问题及解决方法. 参考文章: (1)用python实现websocket请求遇到的问题及解决方法. (2)https://www.cnblogs.com/ ...

  3. Python进行websocket接口测试

    Python进行websocket接口测试 Nikon937 Python进行websocket接口测试 - 简书 我们在做接口测试时,除了常见的http接口,还有一种比较多见,就是socket接口, ...

  4. python实现websocket服务端

    2019独角兽企业重金招聘Python工程师标准>>> ws.py是服务端,文件内容如下 #!/usr/bin/env python import socket import bas ...

  5. python requests发送websocket_Pywss - 用python实现WebSocket服务端

    一种类似Flask开发的WebSocket-Server服务端框架,适用python3.X 1.安装模块Pywss pip install pywss 2.搭建简易服务器 2.1 服务端代码 代码简介 ...

  6. python之websocket

    一.websocket WebSocket协议是基于TCP的一种新的协议.WebSocket最初在HTML5规范中被引用为TCP连接,作为基于TCP的套接字API的占位符.它实现了浏览器与服务器全双工 ...

  7. Python——eventlet.wsgi

    eventlet 的 wsgi 模块提供了一种启动事件驱动的WSGI服务器的简洁手段,可以将其作为某个应用的嵌入web服务器,或作为成熟的web服务器,一个这样的web服务器的例子就是 Spawnin ...

  8. Python之WebSocket协议

    一.WebSocket理论部分 1.websocket是什么 Websocket是html5提出的一个协议规范,参考rfc6455. websocket约定了一个通信的规范,通过一个握手的机制,客户端 ...

  9. 网上测试了很多关于PYTHON的WEBSOCKET样例,下面这个才成功了

    这是最底层的, 嘿嘿,我 还是习惯搞个框架来实现急需要的功能... 这个东东玩得很有意思的.. 服务器端的代码: import simplejson import socket import sys ...

最新文章

  1. androidwakelock_Android音频播放时wakelock的实现
  2. JDK8:Lambda表达式操作List集合
  3. mmz-asio4delphi死链接的解决办法
  4. MySQL 优化原理(二)
  5. docker电子书_果然!这10个Docker容器坑多数人都中招过
  6. php怎样传数据到html代码,传递数据到PHP文件与HTML模板
  7. 任务计划、chkconfig工具、systemd管理服务、unit、target
  8. vdp备份oracle系统,VDP文件级恢复需要在用VDP备份的机器上浏览
  9. Linux学习总结(44)——Linux操作系统基础知识
  10. 行星齿轮设计_3D打印用于制造刚度平衡的行星架
  11. 接口参数,get和post
  12. c++注释快捷键_是不是晚了点:Visual Studio可以自动生成注释啦!
  13. UITableView设置背景为透明时遇到的问题
  14. 如何使用 ggplot2 ?
  15. Spring之AOP面向切面编程
  16. 全网首发:WINDOWS某些文件夹,提供管理员权限后也无法删除,正确解决办法
  17. 浙江工业大学计算机学院的博士招生,浙江工业大学计算机科学与技术学院、软件学院...
  18. 新版Android使用微桌面,微桌面是什么?微信正开发安卓“微桌面”
  19. 继电器触点RC吸收电路
  20. java smtp.126.com_Java采用SMTP协议发送邮件 | 学步园

热门文章

  1. 2021语言与智能技术竞赛上线!百度飞桨提供平台算力支持
  2. 开源教程 「nlp-tutorial」!用百行代码搞定各类NLP模型
  3. 2020腾讯广告算法大赛:赛题理解与解题思路
  4. 实践教程 | 浅谈 PyTorch 中的 tensor 及使用
  5. Batch Size对神经网络训练的影响
  6. 我室友拿到了字节50万年薪,太牛逼了
  7. Nature:科研PUA太严重,过半博士后打算逃离
  8. 清华博士宅家太无聊,给猫咪讲函数
  9. 3名程序员被抓!开发“万能钥匙”APP,撬走3个亿
  10. 用Python来分析5天破10亿的哪吒,为啥这么火?