python-3.x – 目前可用于python3上带烧瓶的websockets的最佳选
目前我看到以下库可用于使用带烧瓶的websockets:
> flask-sockets(可能已过时)
使用带有烧瓶的腹板有没有其他替代方案?还是龙卷风是最好的选择? 解决方法
首先,请注意Flask-SocketIO与其他两个不同.它包装了Socket.IO协议,而不是原始的WebSocket.这使它能够支持使用HTTP长轮询模拟的类似WebSocket的接口,用于不支持WebSocket协议的客户端.
说到Flask-SocketIO,请注意这个扩展即将进行大修. 目前的官方发布(0.6)取决于gevent,gevent-socketio和gevent-websocket.不幸的是,gevent-socketio作为一个项目早已不复存在,并且仍然停留在Socket.IO协议的一个非常旧的版本上,这迫使你使用一个古老的Javascript客户端. 即将推出的Flask-SocketIO 1.0版本是一个完全重写版本,主要与0.6版本兼容,但它支持Python 2和Python 3,并且设计允许不同的机制用于网络和并发.版本0.6的gevent-socketio依赖性被替换为两个名为python-socketio和python-engineio的新包,它们实现了当前版本的Socket.IO协议,并支持所有官方Socket.IO客户端(Javascript,Swift和C). 对于低级依赖项,您基本上有三个选项: > Eventlet 到目前为止,Eventlet是Py2和Py3上性能最高且最稳定的选项. WebSocket支持是eventlet的原生支持,因此只需在virtualenv中安装eventlet,即可使Flask-SocketIO在最佳配置下工作. 如果由于任何原因你更喜欢gevent,那也可以,但在我的测试中,它的表现不如eventlet.如果你想在使用gevent时访问WebSocket,那么你还需要安装包gevent-websocket. gevent和gevent-websocket都已移植到Python 3,但它太新了. 您还可以使用Flask自己的Web服务器.在此模式下,扩展仅适用于长轮询模式.与其他两个相比,性能显然很糟糕,但是对于开发和调试来说,能够让所有工作都运行而不必运行eventlet或gevent,并带来所有复杂性,这是很好的. 截至今天(2015年10月4日),新的Flask-SocketIO扩展程序有一个功能齐全的beta版本.官方发布即将推出.您可以使用以下命令安装测试版: pip install flask-socketio==1.0b1 代码可以在git repo:https://github.com/miguelgrinberg/Flask-SocketIO/tree/v1.0的1.0分支上找到. 免责声明:我确信现在已经很清楚,但为了以防万一,请注意我是Flask-SocketIO,python-socketio和python-engineio的作者. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |