在flask-socketio中,是否可以强制传输仅为网络插座?
根据原始协议:
{{1}}
我的目标是摆脱原来的HTTP调用。
最佳,
答案 0 :(得分:1)
请参阅此帖子 - Socket.io 1.x: use WebSockets only?
看起来您无法摆脱原始的HTTP调用,但您可以告诉客户端不要使用长轮询。
var socket = io({transports: ['websocket']});
我无法通过Flask-SocketIO找到从服务器端禁用它的方法。
答案 1 :(得分:0)
根据Flask-SoskcetIO的文档,您可以使用async_mode设置async_mode。如果您使用gevent-websocket安装了eventlet或gevent,则首先使用websocket。
async_mode: The asynchronous model to use. See the Deployment
section in the documentation for a description of the
available options. Valid async modes are
``threading``, ``eventlet``, ``gevent`` and
``gevent_uwsgi``. If this argument is not given,
``eventlet`` is tried first, then ``gevent_uwsgi``,
then ``gevent``, and finally ``threading``. The
first async mode that has all its dependencies installed
is then one that is chosen.