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

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

我有一些Ruby语言的中间知识,但是我不太确信它是多客户端服务器的一个很好的解决scheme,所以认为Node.js或者Socket.io可能是一个更好的解决scheme。 我知道Java或者C ++对于这个工作来说可能很棒,但是我对它们都不太满意,所以这就是我对服务器端JavaScript的兴趣所在。

我的问题是,你认为什么是这样一个项目的最佳解决scheme? 什么可能是最好的服务器端技术,我将build立一个完整的游戏和通信逻辑? 也许他们的一些组合? 任何有关速度,服务器负载,托pipe解决scheme和每种技术的开发速度的意见将不胜感激。

如果你对JavaScript感到满意,那么通过给node.js一下子,你就没有任何损失:学习曲线将会温和。 这是一个非常酷的服务器技术。

只有node js的缺点当然不会像java一样扩展。 完全一样。 对于networking应用来说,这样做通常很好,因为您可以在前面放置一个caching层(反向代理),这大大减轻了这一点。 我想这对你的应用程序来说是不合理的,因为游戏状态会变得太频繁。

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