向iPhone发送信息的Web服务

向iPhone发送信息的Web服务,iphone,web-services,asihttprequest,Iphone,Web Services,Asihttprequest,我为我的应用程序创建了两个web服务,如下所示。 1.允许主机设备将其信息发送到web服务,并将其存储在sql数据库中。 2.允许客户端设备根据sql数据库中的信息查看附近的所有设备 我希望客户端现在能够单击要连接的设备之一,然后以某种方式将两者链接在一起。我现在的问题是,我的web服务只能发送对设备请求的响应。我想要的是,如果主机设备可能按下一个按钮,它会将该信息发送到web服务,然后web服务会将一些信息发送到以前连接的客户端 如何将信息从web服务发送到未请求任何内容的设备 背景资料: 我

我为我的应用程序创建了两个web服务,如下所示。 1.允许主机设备将其信息发送到web服务,并将其存储在sql数据库中。 2.允许客户端设备根据sql数据库中的信息查看附近的所有设备

我希望客户端现在能够单击要连接的设备之一,然后以某种方式将两者链接在一起。我现在的问题是,我的web服务只能发送对设备请求的响应。我想要的是,如果主机设备可能按下一个按钮,它会将该信息发送到web服务,然后web服务会将一些信息发送到以前连接的客户端

如何将信息从web服务发送到未请求任何内容的设备

背景资料:
我正在使用一个基于php的web服务和ASIHTTPRequest在iphone端发送和接收信息。

您可能会保持一个持久连接打开,但当网络条件发生变化时(如从网络移动到网络、开/关手机等),这会断开

客户端可以快速轮询服务器,但这不仅会导致服务器上的负载高于预期,更重要的是,还会耗尽客户端设备的电池。(在3G上更是如此,因为无论网络交易有多小,蜂窝无线电的最小通电间隔都相当长。)


如果您正在谈论相当零星的更新(实时更新真的会调用上面的第一个选项,如果TCP会话被杀死,通过适当的错误处理和重新连接),您可能会考虑到通知有效载荷与APNS指南是一致的。它们的行为几乎与您描述的一模一样。

在99%的情况下,您会希望使用轮询。想一想任何可以收到消息的应用程序(电子邮件、与朋友的文字等等)。他们都会打电话给服务器,问“有没有新消息给我?”你必须为你的应用程序找出正确的频率

在极少数情况下,如果您需要近实时通信,则需要将应用程序设置为作为服务器运行。请参见此处:。显然,这项技术的电池和带宽成本要高得多