您可以使用以通常方式pip来
安装此软件包:
pip install flask-socketio
Flask-SocketIO 与 Python 3.6+ 兼容。这个包所依赖的异步服务可以从三个选项中选择:
该扩展会根据安装的内容自动检测要使用的异步框架。优先考虑 eventlet,其次是 gevent。对于 gevent 中的 WebSocket 支持,首选 uWSGI,其次是 gevent-websocket。如果既没有安装 eventlet 也没有安装 gevent,则使用 Flask 开发服务器。
如果使用多个进程,则必须配置消息队列服务以允许服务器协调广播等操作。支持的队列是Redis、RabbitMQ、 Kafka以及Kombu包支持的任何其他消息队列。
在客户端,可以使用官方的 Socket.IO Javascript 客户端库来建立与服务器的连接。还有用 Swift、Java 和 C++ 编写的官方客户端。非官方的客户端也可以工作,只要他们实现了 Socket.IO 协议。python-socketio 包(它提供了 Flask-SocketIO 使用的 Socket.IO 服务器实现)包括一个 Python 客户端。
Socket.IO 协议经过多次修改,其中一些引入了向后不兼容的更改,这意味着客户端和服务器必须使用兼容的版本才能正常工作。
下面的版本兼容性图表将此包的版本映射到 JavaScript 参考实现的版本以及 Socket.IO 和 Engine.IO 协议的版本。
JavaScript Socket.IO 版本 | Socket.IO 协议修订 | Engine.IO 协议修订 | Flask-SocketIO 版本 | python-socketio 版本 | python-engineio 版本 |
---|---|---|---|---|---|
0.9.x | 1, 2 | 1, 2 | 不支持 | 不支持 | 不支持 |
1.x 和 2.x | 3、4 | 3 | 4.x | 4.x | 3.x |
3.x 和 4.x | 5 | 4 | 5.x | 5.x | 4.x |