0

我正在开发一个多人 iPhone 应用程序,它允许多达 6 个用户“实时”连接和玩。我一直在研究托管和非托管套接字服务器(SmartFoxElectroServerPhoton/NeutronProjectDarkstar),我想知道是否有人对服务或实施有任何建议?任何人都知道像 Zynga 的 Live Poker 这样的游戏使用什么样的功能来实现这种功能,或者您可能需要什么样的硬件?

一些子问题:

  1. 游戏是回合制的。使用 AMF 并轮询服务器会更有意义,还是我应该选择基于套接字的路由?我目前担心的是并发连接限制和托管成本。

  2. 是否可以将设备“广播”为套接字服务器?即,一旦我连接了所有播放器,我可以将 6 个设备中的一个分配为套接字服务器并通过该设备推送所有通信吗?那会不会很疯狂?这将解决并发问题,我只需要依赖套接字服务器服务作为初始连接的大厅。分配的用户将保持连接以促进游戏与服务器的通信。

4

1 回答 1

2

1.

使用轮询要容易得多,而且由于游戏是回合制的,您可以以相对较慢的速度(可能几秒钟)进行轮询,这意味着更少的电池消耗。也就是说,使用套接字或持久 HTTP 连接将是一种更巧妙的方式(以及更多工作)。这两个问题可能很有趣:

如何创建不由轮询驱动的聊天服务器?

iPhone 上的 COMET(服务器推送到客户端)

我不知道你为什么要使用 AMF。为什么不是 JSON?或者也许HessianKit

2. 将其中一台设备指定为服务器非常有意义。拥有一个需要同步的完全去中心化的游戏客户端网络是一项非常艰巨的任务。同样,由于您的游戏是回合制的,不需要完美的实时同步,您不必担心集中状态会引入更多延迟。

如果您打算让用户通过本地网络玩游戏,您应该考虑使用 GameKit。

于 2010-03-02T02:52:41.393 回答