0

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

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

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

4

1 回答 1

1

如果您对 JavaScript 很熟悉,那么尝试使用 node.js 不会有任何损失:学习曲线会很平缓。这是一项非常酷的服务器技术。

node js 的唯一缺点当然是它不会像 java 那样扩展。完全没有。这对于 Web 应用程序来说通常很好,因为您可以在前面放置一个缓存层(反向代理),这大大缓解了这种情况。我想这对您的应用程序来说是不合理的,因为游戏状态会过于频繁地变化。

不过,Node js 可以通过启动更多实例来“扩展”。如果一台服务器可以轻松容纳多个“游戏世界”,那么这很简单。如果您需要将游戏世界拆分到多个服务器上,那么服务器必须相互配合。但请注意这种情况,它并不像最初看起来那么简单:它被称为“多主机”问题,并且是饥饿的互联网怪物之一。

于 2012-07-09T23:12:47.807 回答