iPhone游戏的在线游戏可能性?

时间:2009-02-12 06:26:20

标签: iphone

你们如何为iPhone游戏创建在线游戏功能?显然,人们可以经常轮询服务器,但考虑到设备的功能,这是否真实?假设您每隔一两秒轮询服务器并检索100个字节的数据......是否可以在游戏过程中继续检索后台数据,或者是否会被服务器轮询阻止?

提前致谢, BCH

4 个答案:

答案 0 :(得分:5)

您需要创建一个多线程应用程序。然后你可以让后台线程轮询服务器(或者更好,在它上面发出异步请求。

查看NSOperation和NSOperationQueue类。您将使每个后台任务由NSOperation类的实例表示。该类负责启动操作,确保它们以适当的顺序运行,并考虑您设置的任何优先级。

使用NSOperation的最常用方法是编写自定义子类并覆盖方法main。当NSOperationQueue计划运行时,调用main方法执行操作。

如果您不想要子类化的开销,请查看NSInvocationOperation类。这是NSOperation的一个具体子类,可以很容易地将操作附加到现有方法。可以将NSInvocationOperation对象添加到NSOperationQueue(就像NSOperations一样),这样就可以在不必子类化的情况下获得多线程。

答案 1 :(得分:1)

您可以执行异步请求。但是你在这里问一个非常非常难的问题。只是想确保你知道。

答案 2 :(得分:1)

看看WiTap示例(在xcode中对witap进行全文搜索)。它使用NSStreams来获取异步行为,而无需使用管理自己的线程或轮询。

答案 3 :(得分:0)

使用OpenFeint ..它允许您轻松开发全球非实时回合制多人游戏...

我不确定GameCenter现在是否支持类似的功能。