我有一个项目,我需要能够将消息从运行 Web 服务的服务器发送到特定的 iDevice。我不知道如何做到这一点,所以非常感谢任何帮助。
场景:我有一个 Web 服务,它从 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 在 1 分钟内(在某些情况下是几秒钟),据我在其他线程中阅读,这根本不可能,因为 Apple 的服务器如何处理 ASPNS。
我正在开发的应用程序只需要在应用程序处于活动状态时从服务器接收消息 - 有什么方法可以不使用 APNs 来做到这一点,例如让应用程序监听特定端口上的通信?