socket.id有多独特?

我build立一个应用程序,我想每个连接的应用程序正在运行的持续时间的唯一标识符,我想知道如果socket.id适用于此。 例如,如果用户1与应用程序断开连接,则稍后连接的用户2应该不具有与用户1之前具有的相同的socket.id,即使用户1不再连接。 套接字标识符在整个时间都是独一无二的socket.io正在监听服务器?

假设您使用的是socket.io@0.9.x (这是NPM中的当前版本),则可以在此处find为每个连接/客户端生成一个新ID的代码。

我认为你可以安全地假设每个套接字ID将是唯一的。

看看socket.io的代码,似乎用户的id唯一标识一个套接字客户端。 例如,请参阅Socket.connect的代码:

 Socket.prototype.onconnect = function(){ debug('socket connected - writing packet'); this.join(this.id); this.packet({ type: parser.CONNECT }); this.nsp.connected[this.id] = this; }; 

在最后一行,id用在一个散列中,用于跟踪连接的套接字。 既然你需要你的id是唯一的,那么只要服务器没有被重新启动,每个id就是唯一的