插座连接经常与烧瓶插座断开

时间:2018-04-09 10:02:46

标签: flask socket.io flask-socketio

我正在使用flask-socketio从我的python web服务器到javascript客户端建立套接字连接。我能够建立连接但是它会在一段时间内(大约5秒左右)出现错误

  

socket.io.min.js:2 WebSocket连接到   'WS://本地主机:5000 / socket.io / EIO = 3及运输=网页套接字&安培; SID = 8ed663e14c6f47328b64f2d29a30d1cd'   失败:收到包含无效UTF-8的破损关闭框架。

发送消息的服务器端代码(定期调用此消息,每隔5秒调用一次)

def send_message(result):
    # it will forward the message to all clients.
    print("sending message")
    socketio.send("Send working",  json=False)

接收消息的客户端代码

socket.on('message', function (data) {
    console.log('message form backend ' + data);
});

不知怎的,它打破了 - >那么暂时没有任何事情发生 - >然后再次自动连接 - >然后又打破了。

有人可以帮忙吗?非常感谢!

1 个答案:

答案 0 :(得分:1)

我修复了。

socketio = SocketIO(app,ping_timeout=5)

ping_timeout –客户端在断开连接之前等待服务器响应的时间(以秒为单位)。 因此,如果您什么也不做,则会在5秒后断开连接。

解决方案是: 让您的客户端在超时之前将消息发送到服务器。

因为我的服务器通常发送数据,所以我将客户端设为:

socket.on('message', function (data) {
    console.log('message form backend ' + data);
    socket.send('data receive!');
});