0

我正在为 ipad、iphone 应用程序制作游戏服务器。这是一个两人纸牌游戏,但任何两个玩家之间都可能进行多场游戏。

在浏览了很多论坛和博客之后,我决定使用 nodeJS 和 mongo-db 组合。

现在我对两者都很陌生,但我有时间学习这些东西,而且我在 JS 方面有相当多的经验。

我不确定的是,如果我的客户端是 iOS 和 Objective-C 堆栈。考虑到 TCP、HTTP 与 REST 和 WebSockets 之间的最佳方法是什么,

  • 可靠的库可用。
  • 复杂程度
  • 表现

如果你觉得我不应该首先使用 nodeJS,请指出我正确的方向,因为我还没有开始。

4

1 回答 1

0

如果你正在考虑使用 iOS,WebSockets 是不行的——我敢肯定你不想用一个大的 UIWebView 来制作你的整个游戏。

TCP:嗯,这是一个有趣的问题。由于没有 avket 标头/等,普通 TCP 的开销通常比 HTTP 小。是必需的,但是实现您自己的协议是一个更大的挑战,对于编写游戏来说应该是必要的,并且在速度/性能方面您最终会遇到与 HTTP 相同的陷阱。此外,您可以在 Unix 上进行 TCP 网络连接的 BSD 套接字 API 乍一看并不明显。但是,如果您决定使用 TCP,这是我的 API OO 包装器:http: //github.com/H2CO3/TCPHelper

HTTP:ypu 应该选择它。它有着悠久的历史,它是一个非常成熟的协议,并且有相当多的高质量 C 和 Objective-C 库可供它使用。Cocoa (Touch) 有 NSURL* 类型的 Objective-C 类,你也有 C 的 libCURL。

在服务器端,您可能还希望更喜欢 HTTP,因为现代服务器隐式地自动支持它,并且您不必弄乱协议来发送消息,而是简单地说

<?php echo "Hello World"; ?>

同样,如果您想深入挖掘,如果您决定使用纯 TCP,则可以在服务器端使用 WebSockets。

我希望这将有所帮助。

于 2012-07-05T06:09:13.973 回答