不同服务器上的Socket.IO客房

时间:2015-04-12 05:31:34

标签: node.js redis socket.io

我的目标

我想用不同的游戏室创建游戏。游戏室没有任何连接。只有一件事:我需要能够将玩家移动到其他房间。

我的想法

将会有很多用户在玩,所以在每台服务器上使用许多服务器和许多节点实例都是一件好事。

我使用

带有SocketIO的NodeJS。游戏室是SocketIO房间。每个玩家只能连接一个房间。

问题

但我该怎么做,如果我需要将用户从服务器#1的一个房间转移到服务器#2的另一个房间?

我知道的方法

我找到了NoSQL作为Redis在服务器之间建立连接的方法。我可以把这样的活动发送到其他房间。

但似乎更好的是,我会向我的客户端发送命令:“从服务器#1断开连接,连接到服务器#2,到房间......”(并将所有可能的房间存储在redis客户端中)。因此,它将是直接连接,而不是“服务器#1 - > redis - >服务器#2”。我希望它快。

主要问题

有没有办法将客户端连接从一台服务器转移到另一台服务器,快速而简单?或者可能是使用Redis pub-sub速度并不是那么糟糕,可以使用它吗?什么是最好的解决方案?

谢谢。

1 个答案:

答案 0 :(得分:1)

Redis还可以。 它非常快速且易于使用。