我几乎用node.js和socket.io完成了基于回合的多人游戏。在node.js中分离游戏服务器和Web服务器
我express.js作为Web服务器和其他类充当游戏服务器,使用socket.io。
我的问题是,这两个在同一个应用程序中运行。我有一个网络登陆页面,用户可以登录并查看他们的球员详细信息并在大厅聊天。现在直到这里,没有什么与游戏逻辑有关。所以我问自己为什么在这个地狱是这个游戏服务器运行在与web服务器相同的应用程序。另外请注意,未来可能会有不同的服务器,例如(欧洲服务器,美洲服务器,亚洲服务器等),但是登录页面和登录机制保持不变。
那么达到此目的的最佳方法是什么?
我应该做两个单独的node.js应用程序,一个网络服务器和一个游戏服务器。然而,在那种情况下,我能够在套接字和请求之间共享会话数据吗?
另一个缺点是,浏览网站时,意外的情况可能会导致服务器无法抛出异常,并关闭应用程序从而关闭游戏服务器也。
发布此问题后,我对此问题做了更多调查。对于node.js来说,最好的选择就是你的建议。你的回答在这个问题上是正确的。但我想了解更多。您是否会分享您对这种情况解决方案架构的看法,而不是基于node.js和redis的解决方案? –