我用nodejs、express和socketio编写了一个聊天应用程序。 支持一室聊天,也支持多房间聊天, 而且我把客户端数据保存在内存中,比如有全局的 变量房间,我像这样存储客户数据..
var rooms = {
"room1": [
{username: "user1", socket: user1Socket},
{username: "user2", socket: user2Socket},
],
"room2": [
{username: "user3", socket: user3Socket},
{username: "user4", socket: user4Socket},
]
}
但是集群中有多个服务器,客户端不知道连接到哪一个服务器,因为这是负载均衡器的工作,然后出现问题,user1和user2应该在同一个房间,但是他们可能连接到不同的服务器..
我该怎么办?
最佳答案
您需要使用 RedisStore 配置服务器。请参阅此处了解更多信息:https://github.com/LearnBoost/Socket.IO/wiki/Configuring-Socket.IO#server
关于node.js - 如何制作带有socket io集群的node js?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16538381/