我有一個項目,我需要能夠將消息從運行Web服務的服務器發送到特定的iDevice。我不知道如何做到這一點,所以任何幫助非常感謝。XCode 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分鐘內向iDevice發送不同的消息(在某些情況下爲秒),並且據我在其他線程中閱讀,由於Apple的服務器如何處理ASPNS,這根本無法實現。
我開發的應用程序只需要在應用程序處於活動狀態時從服務器接收消息 - 是否有任何方式(不使用APN)來執行此操作讓應用程序監聽特定端口上的通信?
非常感謝您的快速回復。 APNS聽起來很有希望,但我非常擔心有關APNS的一件事 - 可靠性以及Apple服務器在超時時如何轉儲通知。你是否知道是否有任何有關APNS百分比沒有交付的統計數據,因爲APNS(服務器 - >設備通信)對於我的應用程序將非常重要。 – 2013-05-10 11:13:23
我知道驗收是如何工作的,但我不確定APN是否是最好的解決方案,基於其他開發人員的經驗。我將進一步調查APN,稍後再回到這個問題。 – 2013-05-10 22:23:01