重新使用套接字ID,socket.io,node.js

是否有可能重用一个socket.id或多次使用它?

我们假设用户在不同的浏览器标签中查看同一站点的多个页面。 我想用一个socket.id,socket来处理它们。

如果用户收到一个通知,它应该popup一个socket.emit的所有标签。

你不能重复使用Socket.IO连接ID,因为它们是在客户端 – 服务器握手期间创build的,但是还有其他方法。 我没有任何示例,但是可以修改Socket.IO客户端以在执行握手时传递查询string。 然后,您可以告诉服务器根据查询string来处理客户端,然后使用特定查询string获取所有客户端ID。

你可以使用的另一种方法是使用命名空间。 假设您有某种types的会话系统,您可以创build一个特定于会话的名称空间,并将具有该会话ID的客户端直接连接到该名称空间。

多个网站?

不,这是不可能的。 如果你打开这些网站到你的web应用程序中的iframe,我想可能是有可能的。

另一个选项是构build一个打开套接字连接的浏览器插件。