我使用Flask-socketio python作为服务器,使用Javascript Socket-io作为客户端。
在服务器端客户端发出事件期间,连接断开并再次重新连接。
由于这种断开连接,发射不正确。
如何使会话保持活动状态或避免断开连接?
还有一个信息,我已经尝试在win 7 pc上对其进行测试,并且没有问题。在赢得10 pc时,每次都会出现此问题。
这与操作系统有关吗?
答案 0 :(得分:0)
我假设在事件处理程序被调用之后(可能正在处理某些数据等),您的emit事件需要一些时间。 如果是这种情况,在socketio实例化上增加ping_interval参数将解决此问题。 服务器期望客户端每隔“ ping_interval”(默认值= 25秒)发送一次ping,并假设您的前端应用未发送这些ping,flask socketio服务器会假定客户端在25秒后离开并断开与客户端的连接。但是事件处理程序内部的处理时间超过25秒,并且当该时间发送数据时,您会看到断开消息,因为没有客户端要发送给该消息。
您需要将此值更改为更高的值以使其起作用。
socketio = SocketIO(app, ping_interval=50)