Express Socket.io-是否有办法保存socketid以防止生成新的socketid

Express Socket.io-是否有办法保存socketid以防止生成新的socketid,express,socket.io,Express,Socket.io,连接到socket.io服务器后,将为连接提供socket.id。当套接字连接在一段时间后未使用时,将生成一个新的套接字id 我读过很多关于“hello world”连接的教程,这些教程只会让你连接起来,但是,关于点对点/组消息传递的文献并不多。文档给出了一个关于文件室/名称空间的三行段落,与此相关的每个问题都有一个指向同一个三行段落的链接 我知道您可以创建和对象/聊天阵列(在本例中)。对于本例,假设它是一个对象。该对象看起来像这样: const connections = { "rando

连接到socket.io服务器后,将为连接提供socket.id。当套接字连接在一段时间后未使用时,将生成一个新的套接字id

我读过很多关于“hello world”连接的教程,这些教程只会让你连接起来,但是,关于点对点/组消息传递的文献并不多。文档给出了一个关于文件室/名称空间的三行段落,与此相关的每个问题都有一个指向同一个三行段落的链接

我知道您可以创建和对象/聊天阵列(在本例中)。对于本例,假设它是一个对象。该对象看起来像这样:

const connections = {
  "randomSocketID1": { 
    recipient: "Mom",
    messages: [Array of Objects]
    //more information
    }
}
然后,我向
randomSocketID1
-->“您好”发送一条消息。第二天我想再给“妈妈”发一条短信。socketID是相同的还是至少会在引擎盖下将“RandomSocketId”更新为其更新的ID(听起来不太可能)?socketID的再生是垃圾收集的产物还是socket/engine/websocket协议


感谢您的澄清,所以我仍然无法找到这个问题的实际答案,从0个回答中,我发现没有人知道。因此,为了确保用户和套接字id得到维护,我所做的是,每当用户进入连接到socketio服务器的组件时,就会发出一个自动的“更新用户”,后端只会找到用户并为其赋值

所以我有这样的想法:

const connections = {
  "randomSocketID1": { 
    recipient: "Mom",
    messages: [Array of Objects]
    //more information
    }
}
chat.component.ts:

ngOnInit(){
  this.socket.emit('update-user', 'Ctfrancia');
}
然后在后端:

const users = {};

io.on('connection', socket => {
  socket.on('update-user', user => {
    if (user in users) users[user] = socket.id;
    else users[user] = socket.id
  });
});