我正试图在我的应用中使用socket.io
和node.js
和Android
来实现客户端到客户端消息传递。Socket.io客户端到客户端逻辑,有很多用户
我搜索了一下,发现了很多教程,解释了在通过socket.io
套接字发送消息时如何处理针对特定客户端的问题。
Send message to specific client with socket.io and node.js
的解决方案几乎都是一样的:创建一个HashMap对象,链接的用户信息,如它的username
,email address
(或任何唯一允许识别它),其socketid
。 然后调用io.clients[sessionID].send()
现在我有两个问题:
这工作,如果只有一个
app
的情况下运行,但想象一下,如果我的应用程序在多个实例分(对于大型应用程序)。 如果连接到实例X
的客户端A
想要将消息发送给用户B
,连接到实例Z
会怎么样?如果在示例中看到socketids
直接存储在脚本中存在的简单对象中,则某些套接字将不知道其他实例中存在的其他用户。如果我完全错了(我可能),这是一个很好的做法,将所有用户的
socketids
存储在一个单一的变量?如果是的话,50000+的用户环境还是可以的吗?如果不是,我应该找到另一种解决方案,如将用户的socketids
存储在数据库中?
不错,你会建议我保留对象来存储socketids吗? – FrenchFalcon
在redis数据库中。我已经修改了我的答案,以清楚地反映这一点。 – overburn
你指的是这个吗? http://socket.io/docs/using-multiple-nodes/ – FrenchFalcon