【发布时间】:2013-05-10 10:34:20
【问题描述】:
我有一个项目,我需要能够将消息从运行 Web 服务的服务器发送到特定的 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在 1 分钟内(在某些情况下为几秒钟)向 iDevice 发送不同的消息,据我在其他线程中阅读,这根本不可能,因为 Apple 的服务器如何处理 ASPNS。
我正在开发的应用程序只需要在应用程序处于活动状态时从服务器接收消息 - 有什么方法可以不使用 APNs 来做到这一点,例如让应用监听特定端口上的通信?
【问题讨论】:
标签: ios objective-c xcode web-services