我刚开始使用socket.io和node.js.我有一些代码用于向特定客户端发送消息:
io.sockets.sockets[receiverssocket2].emit('message',
{"source": sendersusername,
"message": msg.message,
"target": msg.target});
我从pgsql服务器获取接收器套接字ID。有时更新需要一些时间,因此当用户断开连接时,saps2仍然存在,并且会向特定套接字ID发出消息,这会因套接字不存在而产生错误。 有没有办法可以检查套接字ID是否存在,然后发出消息? 我可以获得连接套接字列表并检查它是否存在于数组中,但这可能需要一些时间。
答案 0 :(得分:0)
那么,如果您的客户连接到特定的房间,那么您可以检索一系列客户端,如下所示:
io.sockets.clients('room');
你可以通过这个获得所有房间的数组:
io.sockets.manager.rooms;