如何在socket io连接中保持活动客户端会话很长时间

问题描述 投票:0回答:1

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

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

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

如何保持会话存活或避免断开连接?

还有一个信息,我试过在win 7 pc上测试它,没有问题。在赢得10台电脑时,每次都会出现问题。 这与操作系统有关吗?

javascript socket.io flask-socketio
1个回答
0
投票

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

您需要将此值更改为更高的值才能使其正常工作。

socketio = SocketIO(app, ping_interval=50)

© www.soinside.com 2019 - 2024. All rights reserved.