Javascript Node.js用于重新连接的客户端的唯一标识符

Javascript Node.js用于重新连接的客户端的唯一标识符,javascript,node.js,express,socket.io,Javascript,Node.js,Express,Socket.io,我正在尝试为失去连接的客户端建立一个重新连接过程。在客户端js中,我可以检测连接何时丢失,并定期尝试重新连接到服务器。当我重新连接时,服务器将使用新的套接字 在客户端上,这是我的重新连接逻辑 var socket = io.connect(ip, { 'reconnect': true, //will create a new socket on the server 'reconnection delay': options.retryInterval, 'max reconnec

我正在尝试为失去连接的客户端建立一个重新连接过程。在客户端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
到外部服务器的连接,我想在短时间内保持此连接打开;正在等待客户端是否重新连接


是否有一种在节点中唯一标识客户机的好方法,或者我应该在客户机上创建标识符并将其传递给服务器?

要标识客户机,您应该使
socket.io
与expressjs会话一起工作,每个会话都有一个唯一的id,并使用许多其他方法向服务器端标识自身(cookies、headers…)

当套接字对象被传递到callback
io.on('connection',function(socket)
,access by
socket.id
属性时,默认情况下,套接字具有唯一的id

要识别丢失连接且脚本尝试重新连接的客户端,请尝试侦听
重新连接
重新连接
重新连接失败
事件


要识别客户端,您应该让
socket.io
与expressjs会话一起工作,每个会话都有一个唯一的id,并使用许多其他方法在服务器端识别自己(cookie、标头..)

当套接字对象被传递到callback
io.on('connection',function(socket)
,access by
socket.id
属性时,默认情况下,套接字具有唯一的id

要识别丢失连接且脚本尝试重新连接的客户端,请尝试侦听
重新连接
重新连接
重新连接失败
事件


是否有方法识别服务器上的重新连接,因为它仍然使用不同的
id创建新套接字
找到了我的答案:在浏览器上创建唯一的客户端id。是否有方法识别服务器上的重新连接,因为它仍然使用不同的
id创建新套接字
找到了我的答案:go正在初始化以在浏览器上创建唯一的客户端id。