0
我刚刚开始使用socket.io和node.js.我有一个将消息发送到特定的客户端的一些代码:如何知道在socket.io中打开的特定套接字?
io.sockets.sockets[receiverssocket2].emit('message',
{"source": sendersusername,
"message": msg.message,
"target": msg.target});
我收到从pgsql的服务器接收器插槽ID。有时需要更新一些,所以当用户断开接收者socketocket2仍然存在,并且一个消息被发送到特定的套接字ID,由于套接字不存在,这会产生错误。 有没有办法可以检查套接字ID是否存在然后发出消息? 我可以得到连接套接字的列表并检查它是否存在于数组中,但这可能需要时间。
你为什么要在数据库中存储套接字标识符? – Gntem
我对每个用户名都有2个插座ID(2个设备),我也有两个从其他地方访问插座ID – user3455531
更简单的设计就是让每个连接的设备向服务器询问信息,然后您可以回复。如果设备没有连接,它不会问。要回答你的问题,你不知道套接字是否打开。 – Houseman