【发布时间】:2021-02-04 05:55:34
【问题描述】:
我有一个具有套接字功能的应用程序。我可以注意到,当应用程序处于空闲状态时,该应用程序会频繁尝试重新连接。有什么方法可以在不重新连接的情况下保持与服务器的稳定连接?
即使我每 5 秒收到一次 ping,连接也会中断。在我关闭它之前,我需要保持连接。
我已经使用 pingIntervals 配置了我的服务器,如下所示:
var io = require('socket.io')(server, {
pingInterval: 5000,
pingTimeout: 15000
});
客户端配置:
io(TENANT_URL, {
transports: ['websocket', 'polling'],
autoConnect: false,
'reconnection': true,
'reconnectionDelay': 10000,
'reconnectionDelayMax': 5000,
'reconnectionAttempts': 10
});
我可以对配置做些什么来使连接稳定吗?
【问题讨论】:
-
你用pong回复服务器的ping消息吗?如果没有,那么您应该尝试一下。如果不回复 ping 消息,服务器可能会认为您的连接处于非活动状态,并且可能会在一段时间后关闭(通常为 5 分钟,但也取决于配置)。另一件可能有帮助的事情是在客户端设置一个间隔以向服务器发送 ping 消息。
标签: node.js sockets websocket socket.io