python - Socket.io 与 flask-socketio python。如何设置套接字保活/超时

标签 python websocket socket.io flask-socketio

我正在努力寻找有关 socket.io 超时值的任何文档。我在客户端使用//cdnjs.cloudflare.com/ajax/libs/socket.io/0.9.16/socket.io.min.js 在服务器端使用 Flask-SocketIO。

这是我创建套接字的方式:

namespace = '/coregrapher'

var socket = io.connect('http://' + document.domain + ':' + location.port + namespace);

socket.on('connect', function() {
    socket.emit('my event', {data: 'I\'m connected!'});
});

socket.on('my response', function(msg) {
    $('#result').append(msg.data);
});

问题是,如果服务器在一分钟内没有向客户端或 visversa 发送任何内容,客户端就会断开连接,如果服务器尝试向客户端发送另一次消息,则会失败,因为客户端已经断开连接。如何让客户端保持连接?

谢谢!

最佳答案

你也可以在服务器端使用 Flask-SocketIO 设置参数:

socketio = SocketIO(ping_timeout=10, ping_interval=5)

:param ping_timeout: The time in seconds that the client waits for the
                     server to respond before disconnecting. The default is
                     60 seconds.
:param ping_interval: The interval in seconds at which the client pings
                      the server. The default is 25 seconds.

关于python - Socket.io 与 flask-socketio python。如何设置套接字保活/超时,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27159198/

相关文章:

javascript - vue套接字连接未触发

node.js - 如何在 express.js 应用程序中的多个文件上使用套接字 io 实例

Python递归RuntimeError

python - 解析 svg :path d attribute

google-chrome - SSL WebSocket 连接不适用于 webkit 浏览器?

node.js - 允许公共(public) IP 通过 WebSockets 连接

php - 无法回显文件 python 中的值

python - 在 Flask 中运行后台 Celery 任务

javascript - Socket.io 获取套接字所属的命名空间

javascript - Socket.IO 接受不存在的 src 标签吗?