flask-socketio:仅限制传输到 websocket

flask-socketio: limit transport to websocket only

在 flask-socketio 中,是否可以强制传输仅是网络套接字?

按原协议:

https://github.com/socketio/engine.io 
transports (<Array> String): transports to allow connections to (['polling', 'websocket'])

我的目标是摆脱原来的 HTTP 调用。

最佳,

看到这个 post -

看来你不能去掉原来的HTTP调用,但是你可以告诉客户端不要使用long-polling

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.