Socket.IO多个页面为相同的用户/套接字

我正在Node.js / Socket.IO上进行多人游戏。 stream程如下:

  • 用户input他的名字,并添加到大厅
  • 用户select一个房间并添加到它,然后游戏开始,当他由另一个用户join。

这部分很简单,我以前做过。 不过,我现在需要用户能够同时join多个游戏室。 页面是通过快速dynamic生成的,打开许多游戏页面是没有问题的,但是我正忙于套接字的实现。

  • 我可以为多个房间使用单个套接字(对于同一个用户),还是必须为每个房间创build一个新的套接字?
  • 我希望用户在游戏中始终能够在大厅内聊天。 我如何分类?

谢谢

不过,我现在需要用户能够同时join多个游戏室。 页面是通过快速dynamic生成的,打开许多游戏页面没有问题[…]我可以使用一个单一的sockets为多个房间(对于同一个用户),还是我必须创build一个新的每个房间的sockets?

用户单独打开的页面不会共享任何上下文。 有一些hacky的方法(如Flash LocalConnection),但你永远不应该依靠这些。 因此,每个页面都需要自己的连接到您的服务器。

我希望用户在游戏中始终能够在大厅内聊天。 我如何分类?

随你怎么便。 这个实现取决于你。 如果您正在使用Socket.IO“房间”function,我build议不要使用它,因此您的实施具有最大的灵活性。