如何在套接字io连接中长时间保持活动的客户端会话

时间:2019-02-14 10:05:14

标签: javascript socket.io flask-socketio

我使用Flask-socketio python作为服务器,使用Javascript Socket-io作为客户端。

在服务器端客户端发出事件期间,连接断开并再次重新连接。

由于这种断开连接,发射不正确。

如何使会话保持活动状态或避免断开连接?

还有一个信息,我已经尝试在win 7 pc上对其进行测试,并且没有问题。在赢得10 pc时,每次都会出现此问题。
这与操作系统有关吗?

1 个答案:

答案 0 :(得分:0)

我假设在事件处理程序被调用之后(可能正在处理某些数据等),您的emit事件需要一些时间。 如果是这种情况,在socketio实例化上增加ping_interval参数将解决此问题。 服务器期望客户端每隔“ ping_interval”(默认值= 25秒)发送一次ping,并假设您的前端应用未发送这些ping,flask socketio服务器会假定客户端在25秒后离开并断开与客户端的连接。但是事件处理程序内部的处理时间超过25秒,并且当该时间发送数据时,您会看到断开消息,因为没有客户端要发送给该消息。

您需要将此值更改为更高的值以使其起作用。

socketio = SocketIO(app, ping_interval=50)