我使用socket.io与多个节点,socket.io-redis和nginx . 我按照本指南:http://socket.io/docs/using-multiple-nodes/
我正在尝试:在一个函数(服务器站点),我想通过socketid查询此套接字已连接或断开连接
我试过 io.of('namespace').connected[socketid]
,它只适用于当前进程(这意味着它只能检查当前进程) .
有人可以帮帮我吗?谢谢你提前 .
我使用socket.io与多个节点,socket.io-redis和nginx . 我按照本指南:http://socket.io/docs/using-multiple-nodes/
我正在尝试:在一个函数(服务器站点),我想通过socketid查询此套接字已连接或断开连接
我试过 io.of('namespace').connected[socketid]
,它只适用于当前进程(这意味着它只能检查当前进程) .
有人可以帮帮我吗?谢谢你提前 .
2 回答
正如您所说,单独的进程意味着套接字仅在它们首次连接的进程上注册 . 您需要一起使用socket.io-redis到 connect all your nodes ,每次客户端连接/断开连接时,您可以做的是 broadcast an event ,以便每个节点都有一个更新的所有客户端的实时列表 .
看看here
如上所述,您应该使用socket.io-redis使其在多个节点上运行 .