1

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

根据原始协议:

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

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

最好的,

4

2 回答 2

2

请参阅这篇文章 - Socket.io 1.x:仅使用 WebSockets?

看起来您无法摆脱最初的 HTTP 调用,但您可以告诉客户端不要使用长轮询。

var socket = io({transports: ['websocket']});

我找不到使用 Flask-SocketIO 从服务器端禁用它的方法。

于 2016-02-20T00:42:01.880 回答
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.
于 2016-12-13T03:40:57.183 回答