一个socket.io连接的两个实例

时间:2014-02-12 23:01:25

标签: node.js sockets socket.io

在我们的应用程序中,每次用户在socket.io中登录新连接时都会创建。因此,如果用户同时在更多设备上登录,则它们表现为单独的连接。我不是每次都创建一个新连接,而是想检查用户是否已经连接到socket.io,如果是,我想将他连接到已经建立的连接。怎么办呢?

1 个答案:

答案 0 :(得分:0)

从socket.io的角度来看,那些是两个连接。但如果是我的应用程序,我会做这样的事情:

  • 向用户'添加用户标识符(用户ID,用户名,您识别用户的内容)。 socket.io连接(因此,每次向客户端发送消息时,也会传递此id)
  • 也将此id传递给init上的客户端代码。

所以现在服务器端的套接字有它的' socket.io id,也是你的用户id。无论如何,继续:

  • 将此用户ID发送到客户端的javascript文件中。
  • 在客户端代码上,对socket.io处理程序进行一些小调整 - 对于每个收到的消息(比如广播),你现在可以检查它是否是你当前的用户ID,而不是说& #39;#351用户说Hi'你可以说'你在另一台设备上说'或类似的东西。

当然,我不是socket.io专家,已经存在一个框架或lib来解决这个问题。