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

标签 iphone objective-c web-services json

我有一个 iPhone 应用程序需要在服务器发生更改后立即更新。我怎样才能让服务器将数据“推送”到 iphone 而不是 iphone 不断轮询网络服务?

编辑:我希望 iPhone 在服务器处理后立即接收 JSON 更新,而无需请求。

我想因为服务器是一个 web 服务,所以这被称为 Comet,但我还没有看到一个好的 iPhone 示例。

最佳答案

这取决于您的冒险精神。这里有两种选择:

  1. Apple's Push Notifications即使您的应用程序未运行,它也能正常工作。
  2. 自己维护与服务器的 TCP 连接。这需要您付出更多的编程努力 - 低级 NSStream 杂耍并尝试处理 iPhone 决定从 3G 转到 WiFi 的情况。这也会很快耗尽电池。如果选择此路径,socket streams programming guide可以是开始的好地方。

更新:看看 iStreamLight - Lightstreamer protocol implementation for iPhone .如果它不适合您的 Comet Web 服务,您可能需要进入较低级别,即使用套接字流维护 TCP 连接。为了简化处理 JSON 数据结构的任务,您可能需要使用 JSON framework for Objective-C .

关于iphone - 避免 iPhone 不断轮询网络服务?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1470323/

相关文章:

java - 使用 JAX-WS 2.1 时请求 XML 中的不必要属性

iphone - 隐藏 UIStatusBar 如何应用于显示的 UIViews?

ios - 从iPhone的Watch触发搜寻

iPhone SDK : Call method from UIImageViewClass to ViewController

objective-c - Cocoa 类类别中的静态变量

java - org.apache.axis2.AxisFault : Transport out has not been set

iphone - iPhone 与 Android 上的 Web 应用程序性能

objective-c - 捕获所有 Objective-C 消息并获取 Cocoa 运行时中的对象列表

ios - 在开始日期和结束日期之间获取每月的第三个星期六

web-services - WSDL操作和SOAP : how this actually works?