听起来您可能是在问问题中的套接字ID,而不是会话ID。如果您有快速会话,则可以使用会话ID,无论打开了多少标签,只要它们使用相同的浏览器且未处于“私有”模式,该ID都将相同。看一下这个问题,了解如何在socket.io中启用会话。
socket.io和会话?
更新: 保存会话ID时,会将其与用户的昵称和连接的套接字相关联。然后,您可以遍历每个套接字并发送消息。类似于以下内容:
[ {sessionId: '12345', nickname: 'timmay!', socketIds: [1, 2, 3]}, {sessionId: '23456', nickname: 'pete', socketIds: [4, 5, 6]}]建立另一个连接后,可以将新的套接字ID推入socketIds数组中,而当用户断开连接时,可以删除该ID。
另一种选择可能是每个会话每个用户只允许一个选项卡。您可以存储一个socketId,并且当为同一用户连接新的套接字时,可以断开原始套接字的连接,而改用新的套接字。



