我一直在寻找解决这个问题的办法,但到目前为止还没有找到。正如标题所说,我们将socket.io、redis-socket.io和pm2集群用于聊天应用程序。这是工作得很好,但是在一个特定的房间里抓取用户只抓取你所在节点上的用户。
我看到一些回复说,你可以通过redis跟踪套接字,但是这些解决方案已经有几年的历史了,所以我希望redis-socket.io项目中可能有一个内置的解决方案,我不知道。
基本上当用户连接到我们呼叫的房间时
socketID in io.nsps['/'].adapter.rooms[room].sockets
这为我们提供了一个包含该房间中所有用户的对象,但是在集群中,它只捕获该节点上的用户,因此有些用户被忽略了。
任何帮助都将不胜感激。
谢谢。
暂无答案!
目前还没有任何答案,快来回答吧!