2009-10-19 115 views
3

我正在寻找一种方法来从iPhone应用程序中的服务器获取实时通知。我不想使用Apple推送通知,因为我有很多通知。我的Web服务使用PHP编码,我还没有想出实现这种功能的简单方法。任何想法我该怎么办?iPhone实时来自服务器的通知,不使用Apple推送通知

Thx很多为您的帮助!

编辑:我正在寻找一种方式来获取通知,只有当应用程序启动(否则,唯一的选择是苹果推不)。

+0

如果即使应用程序未运行,您仍需要接收通知,则必须使用Apple的推送通知服务。是这样吗? – pgb 2009-10-19 17:02:16

+0

不是的,我只是想在应用程序启动时使用它。 – Martin 2009-10-20 09:29:40

+0

对不起,我的问题不够精确Pgb,thx为您的帮助! :) – Martin 2009-10-20 09:33:49

回答

7

如果应用程序正在运行,您可以打开从应用程序到服务器的http连接,并让服务器保持打开状态,并在需要时通过它推送数据。这基本上是如何COMET的作品。

这只会在您的应用运行时才起作用。如果您需要通知发生,即使用户关闭了应用程序,Apple推送通知也是您唯一的选择。

+0

Thx为您的答案路易! 是的,我读了COMET或XMPP,看起来像一个解决方案。但是你会有任何示例在PHP服务器和Objective-c客户端上实现它吗? 看来它需要某种服务在服务器上运行,对吗? – Martin 2009-10-20 09:33:03

+0

是的,它需要服务器和客户端支持。对不起,我没有任何使用PHP做这类事情的经验。 – 2009-10-20 16:53:55

+1

好了这么多天寻找最佳解决方案后,我得出结论,在我的Debian服务器上使用: > RabbitMQ作为消息队列服务器,安装了STOMP扩展:http://www.rabbitmq.com/ >以下用于PHP的Stomp客户端:http://stomp.fusesource.org/documentation/php/index.html <以下用于ObjectveC的Stomp客户端:http://github.com/juretta/objc-stomp 我能够使这个解决方案工作:) 谢谢你们的帮助! – Martin 2009-11-25 11:09:16

1

您必须使用Apple推送通知在Apple的移动设备上实现推送通知周期。