socket.io客户端中的'reconnection'和'forceNew'有什么区别?

时间:2017-04-04 04:37:57

标签: node.js socket.io

在socket.io客户端选项中,“reconnection”和“forceNew”之间有什么区别

socket("my-host-server", {
    reconnection: true,
    reconnectionDelay: 3000,
    reconnectionAttempts: 20,
    forceNew: true
    });

1 个答案:

答案 0 :(得分:2)

reconnection启用/禁用客户端的自动重新连接,即如果服务器掉线或客户端互联网连接丢失,它将尝试重新连接

来自https://socket.io/docs/client-api/

socket.io(url[, options])
  

为给定的URL创建一个新的Manager,并尝试重用现有的Manager进行后续调用,除非使用false传递Multiplex选项。传递此选项相当于传递'force new connection':true或forceNew:true。

所以基本上如果你没有指定forceNew: true它会尝试重用一个可用的Manager,可能是一个已经断开连接的RegisterHotKey。根据事物的外观,一些人在手动断开连接和重新连接时遇到了麻烦而没有指定此选项(socket.io client connect disconnect),但是我对Sockets.io不够熟悉,无法评论指定的其他潜在警告这个选项。