你们将如何为iPhone游戏创建在线游戏功能?显然,人们可以经常轮询服务器,但考虑到设备的功能,这是否真实?假设您每隔一两秒轮询一次服务器并检索100个字节的数据......是否可以在游戏过程中继续检索后台数据,或者是否会被服务器轮询阻止?
提前谢谢,BCH
您需要创建一个多线程应用程序.然后你可以让后台线程轮询服务器(或者更好,在它上面发出异步请求.
看看NSOperation和NSOperationQueue类.您将使每个后台任务由NSOperation类的实例表示.该类负责启动操作,确保它们以适当的顺序运行,并考虑您设置的任何优先级.
使用NSOperation的最常用方法是编写自定义子类并覆盖方法main.当NSOperationQueue计划运行时,调用main方法执行操作.
如果您不想要子类化的开销,请查看NSInvocationOperation类.这是NSOperation的一个具体子类,可以很容易地将操作附加到现有方法.可以将NSInvocationOperation对象添加到NSOperationQueue(就像NSOperations一样),这样就可以在不必子类的情况下获得多线程.