我正在尝试为失去连接的客户端重新建立连接过程。在客户端js中,我可以检测到连接丢失并定期尝试重新连接到服务器。当我重新连接时,虽然服务器将使用新的套接字。Node.js客户端重新连接的唯一标识符
在客户端,这是我重新连接逻辑
var socket = io.connect(ip, {
'reconnect': true, //will create a new socket on the server
'reconnection delay': options.retryInterval,
'max reconnection attempts': 10
});
socket.on("disconnect", function() {
this.connected = false;
this.autoretry();
});
//establish the connection - similiar to the reconnect method
socket.emit("connect", this.options);
//....
autoretry: function() {
if(this.connected) {return;};
var next = this.__retry *= this.options.retryScalar;
this.socket.emit("retry", this.connect.options);
return _.delay(this.autoretry, next, this);
}
的问题是每个客户都有它自己的tls
连接到外部服务器,我想担任此连接打开一个短暂的时期;等待客户端重新连接。
是否有一种很好的方法来唯一标识客户端在节点中,还是应该在客户端上创建标识符并将其传递给服务器?
是否有办法来识别服务器上进行重新连接,因为它仍然具有不同的'id' – megawac
找到我的回答创建一个新的socket:http://stackoverflow.com/questions/9668996/does -socket-io-reconnects-re-run-connect将在浏览器上创建一个唯一的客户端ID。 – megawac