NodeJS和socket.io消息调度最佳实践

我们正在用NodeJS和websockets编写多人游戏。 在devise服务器的架构时,我们提出了处理大多数自己的通信的对象的想法。

关于连接的第一个例子,我们将把套接字传递给客户端对象,客户端对象然后可以自己处理通信。 其中一个好处就是不必拥有一个全局处理程序来传递消息。 这使责任分开。

然后,我可以通过向客户发送房间ID来告诉客户自己通过socket.iofunctionjoin特定房间。

我们可以看到的主要缺点是可能会出现我们需要复制套接字。 即:如果客户从房间断开并想要join另一个房间。

所以另一种select是采用更经典的方式,全局处理所有的消息,然后把关联的id路由到相关的对象。

你们会build议一个解决scheme,为什么?