Flask-SocketIO 在 Werkzeug 下 运行,WebSocket 不可用。这是什么意思?

Flask-SocketIO is Running under Werkzeug, WebSocket is not available. What does this mean?

当我 运行 用于 SocketIO 的烧瓶时,我在我的 cmd 上得到以下信息:

WARNING in __init__: Flask-SocketIO is Running under Werkzeug, WebSocket is not available.

这是什么意思?

这意味着您使用的网络服务器是 Werkzeug(即 Flask 开发服务器)。使用此网络服务器时,不支持 WebSocket。

要获得 WebSocket 支持,您必须使用不同的网络服务器。支持的网络服务器配置包括 eventlet、eventlet + gunicorn、gevent、gevent + gunicorn 和 gevent + uwsgi。您可以在 deployment documentation.

中找到有关这些选项的更多信息

我遇到了同样的问题,我找到了解决方案。

The flask run command cannot be used to run on the more advanced webservers anymore.

也就是说当你使用socket.io时你不能使用flask run命令。

而不是使用 app.run(),在您的代码底部添加:

if __name__ == '__main__':
    socketio.run(app)

而不是使用 flask run,只是 运行 带有 python app.py 的脚本。