我有一个项目,我需要能够将消息从运行Web服务的服务器发送到特定的iDevice。我不知道如何做到这一点,所以任何帮助非常感谢。XCode iDevice应用程序 - 如何侦听来自服务器的消息/请求?
该场景:我有一个网络服务从iDevice(也可以是Mac或PC,甚至是Android设备)接收一些消息。根据此消息的内容,我需要能够从Web服务向另一个iDevice发送消息(我知道特定iDevice的IP地址)。我知道如何使用URLRequests从iDevice向服务器发送消息并从服务器收集响应。原则上,我可以每10秒向服务器发送一个请求,询问服务器是否有任何新消息发送给发件人(iDevice发送请求),但我确信这不是正确的方法。有没有办法让iDevice监听特定端口上的服务器通信,以便iDevice只在从服务器接收到消息来执行某些操作时才会进行一些活动,例如,在应用程序中显示一条消息,以侦听服务器通信?
我想我需要使用类似于用于iMessage的技术,但这是如何完成的?
我正在使用XCode 4.6.2,iOS 6.1。
编辑:只是为了更清楚我的需求:APNS似乎太过于不可靠(至少这是我在其他有关APN的线程中读到的),因为在某些情况下,Web服务可能需要发送2分钟内向iDevice发送不同的消息(在某些情况下为秒),并且据我在其他线程中阅读,由于Apple的服务器如何处理ASPNS,这根本无法实现。
我开发的应用程序只需要在应用程序处于活动状态时从服务器接收消息 - 是否有任何方式(不使用APN)来执行此操作让应用程序监听特定端口上的通信?
非常感谢您的快速回复。 APNS听起来很有希望,但我非常担心有关APNS的一件事 - 可靠性以及Apple服务器在超时时如何转储通知。你是否知道是否有任何有关APNS百分比没有交付的统计数据,因为APNS(服务器 - >设备通信)对于我的应用程序将非常重要。 – 2013-05-10 11:13:23
我知道验收是如何工作的,但我不确定APN是否是最好的解决方案,基于其他开发人员的经验。我将进一步调查APN,稍后再回到这个问题。 – 2013-05-10 22:23:01