小编Eva*_*Coy的帖子

Flask-SocketIO 未使用 Gevent/Gevent-websocket

我正在使用 Flask 和 Flask-SocketIO 构建用于 websocket 通信的 Web 界面/数据 API。我想开始转向使用 Gevent/Gevent-websocket、Gunicorn 以及最终 Nginx 进行负载平衡的更适合开发的设置。但是,安装 Gevent 和 Gevent-websocket 后,启动 SocketIO 服务器时仍然收到警告消息:

WebSocket transport not available. Install eventlet or gevent and gevent-websocket for improved performance.
Run Code Online (Sandbox Code Playgroud)

根据 Flask-SocketIO 文档,

当应用程序处于调试模式时,Werkzeug 开发服务器仍然在 socketio.run() 内使用并正确配置。在生产模式下,如果可用,则使用 eventlet Web 服务器,否则使用 gevent Web 服务器。如果未安装 eventlet 和 gevent,则使用 Werkzeug 开发 Web 服务器。

这意味着 Gevent 的使用应该作为 Flask-SocketIO 的一部分在幕后自动化。我使用 pip list 检查了我的 Python 安装,并确认我安装了 Gevent 1.3.4 和 Gevent-websocket 0.10.1。以下是 SocketIO 服务器的初始化代码:

应用程序.py

flaskApp = Flask(__name__)
flaskApp.config['SESSION_TYPE'] = 'filesystem'
Session(flaskApp)
socketio = …
Run Code Online (Sandbox Code Playgroud)

python websocket gevent flask flask-socketio

5
推荐指数
1
解决办法
7965
查看次数

标签 统计

flask ×1

flask-socketio ×1

gevent ×1

python ×1

websocket ×1