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

时间:2013-12-10 20:34:25

标签: node.js socket.io

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

  • 用户输入他的名字并被添加到大厅
  • 用户选择一个房间并添加到其中,然后当游戏由另一个用户加入时游戏开始。

这部分很简单,之前我已经完成了。但是,我现在需要用户能够同时加入多个游戏室。页面是由express动态生成的,打开很多游戏页面没有问题,但我正在努力解决socket实现问题。

  • 我可以为多个房间使用单个插座(对于同一个用户),还是每个房间都需要创建一个新插座?
  • 我希望用户在游戏中始终能够在大厅内聊天。我该如何解决这个问题?

由于

1 个答案:

答案 0 :(得分:3)

  

但是,我现在需要用户能够同时加入多个游戏室。页面是由express动态生成的,打开很多游戏页面都没有问题[...]我可以为多个房间使用单个套接字(对于同一个用户)还是每个房间都要创建一个新套接字?

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

  

我希望用户在游戏中始终能够在大厅内聊天。我该如何解决这个问题?

但是你想要。这个实现取决于你。如果您当前正在使用Socket.IO“会议室”功能,我建议您不要使用它,以便在实施过程中获得最大的灵活性。