【发布时间】:2014-06-12 08:30:40
【问题描述】:
我将 Node.js 与 socket.io 一起用于多人游戏。有游戏室,玩家可以加入不同的房间。这部分工作正常。
现在,我想为 Node 服务器因任何原因而崩溃的可能性做好准备。我有 Node 将数据备份到 Redis,如果它崩溃了,它会自动重启,从 Redis 取回数据并继续正常运行。
这就是我想要的,但我对一件事感到困惑。既然每个socket都是由它的ID来标识的,那么重启后服务器怎么知道哪个用户订阅了哪个房间呢?套接字 ID 仍然有效吗?还是需要以某种方式重新分配它们(可能基于唯一的用户 ID)?
【问题讨论】:
标签: javascript node.js sockets socket.io