WebSocket 传输不可用。安装 eventlet 或 gevent 和 gevent-websocket 以提高性能

MD1*_*D10 10 flask socket.io flask-socketio

我正在使用套接字 io 和烧瓶应用程序。除了我总是收到此消息外,一切正常。这是我的初始化:

app = Flask(__name__)
app.config['SECRET_KEY'] = APP_SECRET_KEY
jwt = JWTManager(app)
cors = CORS(app)
app.config['CORS_HEADERS'] = 'Content-Type'
# app.config['transports'] = 'websocket'
socketio = SocketIO(app, cors_allowed_origins="*", async_mode='threading')

socketio.run(app, debug=True)
Run Code Online (Sandbox Code Playgroud)

什么可能导致此警告,它是什么意思?

控制台看起来像这样: 在此处输入图片说明

  • 已经尝试安装 gevent 和 eventlet 并且它没有删除消息

SRE*_*DAN 14

如果是执行 python 文件时出现的问题,请尝试一下pip install eventlet它对我有用,您也可以尝试pip install gevent几次,这也可以解决问题!


Mig*_*uel 6

通常async_mode在实例化服务器时不包括该选项。通过让async_mode='threading'您强制服务器忽略 eventlet 和/或 gevent 并使用不支持 WebSocket 的更基本的服务器。

所以删除async_mode,然后安装 eventlet(或 gevent 和 gevent-websocket)。现在您的服务器将可以访问 WebSocket 并且不会显示警告。