我正在使用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);
});
不知怎的,它打破了 - >那么暂时没有任何事情发生 - >然后再次自动连接 - >然后又打破了。
有人可以帮忙吗?非常感谢!
答案 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!');
});