避免iPhone不断轮询网络服务?

Dev*_*Dev 6 iphone json web-services objective-c

我有一个iPhone应用程序,一旦对服务器进行了更改就需要更新.如何让服务器"推送"数据到iphone而不是iphone不断轮询网络服务?

编辑:我希望iPhone在服务器处理它们时立即接收JSON更新,而不必请求.

我想因为服务器是一个名为Comet的Web服务,但我还没有看到一个好的iPhone示例.

zak*_*rya 13

这取决于你是多么冒险.这里有两种选择:

  1. Apple的推送通知即使您的应用程序未运行也能正常运行.
  2. 自己维护与服务器的TCP连接.这需要你做更多的编程工作 - 低级别的NSStream杂耍,并试图处理iPhone决定从3G到WiFi的情况.这也可以很快耗尽电池.如果选择此路径,则套接字流编程指南可以是开始的好地方.

更新:看一下iPhone的iStreamLight - Lightstreamer协议实现.如果它不适合您的Comet Web服务,您可能需要转到较低级别,即使用套接字流维护TCP连接.为了简化处理JSON数据结构的任务,您可能希望使用Objective-C的JSON框架.