如何在自动重新连接超时后重新连接socket.io客户端的活动?

Ton*_*leh 7 javascript socket.io

笔记本电脑常常入睡.这会导致socket.io客户端断开连接.当用户返回到Web应用程序时,socket.io客户端不会尝试重新连接(可能已达到重新连接限制?).如果用户执行某些操作,如何告诉套接字重新连接?

例如,我想emit检查连接是否处于活动状态的函数,如果没有,则尝试重新连接.

注意:我只需要客户端JS代码而我不使用node.js.

小智 7

在0.9版中,您可以尝试将连接选项对象设置为某些激进设置:

  var main = io.connect('/', {
    'reconnection delay': 100, // defaults to 500
    'reconnection limit': 100, // defaults to Infinity
    'max reconnection attempts': Infinity // defaults to 10
  });
Run Code Online (Sandbox Code Playgroud)

请注意,max reconnection attemps这并不意味着在10次尝试失败后io客户端将停止重新连接到服务器.如果它能够重新连接到服务器10次并且第11次丢失连接,它将停止重新连接.

请参阅Socket.IO配置


nfe*_*ner 2

您可以尝试使用该connect.failed事件:

socket.on('connect_failed', function () {
   /* Insert code to reestablish connection. */
});
Run Code Online (Sandbox Code Playgroud)