2009-10-19 114 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的移動設備上實現推送通知週期。