在flask-socketio中,是否可以强制传输仅是网络套接字?
根据原始协议:
https://github.com/socketio/engine.io
transports (<Array> String): transports to allow connections to (['polling', 'websocket'])
我的目标是摆脱原来的 HTTP 调用。
最好的,
在flask-socketio中,是否可以强制传输仅是网络套接字?
根据原始协议:
https://github.com/socketio/engine.io
transports (<Array> String): transports to allow connections to (['polling', 'websocket'])
我的目标是摆脱原来的 HTTP 调用。
最好的,
请参阅这篇文章 - Socket.io 1.x:仅使用 WebSockets?
看起来您无法摆脱最初的 HTTP 调用,但您可以告诉客户端不要使用长轮询。
var socket = io({transports: ['websocket']});
我找不到使用 Flask-SocketIO 从服务器端禁用它的方法。
根据 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.