在线多人游戏基于浏览器的游戏服务器技术?

时间:2012-07-09 22:58:25

标签: ruby sockets node.js socket.io multiplayer

我想构建一个简单的跨浏览器多人游戏(如国际象棋或纸牌游戏),它将使用套接字与服务器通信。

我对Ruby语言有一些中级知识,但我不太相信它对于多客户端服务器来说是一个很好的解决方案,所以认为Node.js或Socket.io可能更好。我知道Java或C ++可能对这项工作很有帮助,但我对它们都不太满意,所以这就是我向服务器端JavaScript发展的原因。

我的问题是,您认为这个项目的最佳解决方案是什么?什么可能是我将构建整个游戏和通信逻辑的最佳服务器端技术?也许是他们的某种组合?任何关于速度,服务器负载,托管解决方案和每种技术的开发速度的评论都将不胜感激。

1 个答案:

答案 0 :(得分:1)

如果你对JavaScript很满意,那么给node.js一个go就没什么可失去的:学习曲线会很温和。这是一个非常酷的服务器技术。

节点js的唯一缺点当然是它不会像java一样扩展。完全没有。这通常适用于Web应用程序,因为您可以在前面抛出一个缓存层(反向代理),这大大减轻了这一点。我想这对你的应用来说是不合理的,因为游戏状态会经常变化。

节点js可以通过旋转更多实例来“缩放”。如果一台服务器可以轻松容纳多个“游戏世界”,那么这很简单。如果您需要跨多个服务器拆分游戏世界,那么服务器必须合作。但要注意这种情况,它并不像它最初看起来那么简单:它被称为“多主”问题,并且是饥饿的互联网怪物之一。