2010-03-26 124 views
7

Apple推送使用TCP或UDP將消息從其服務器傳遞到設備嗎?Apple推送通知服務使用UDP還是TCP?

+1

文檔說明了這一切。小心看一下? – zneak 2010-03-26 01:15:29

+0

標題包含語法錯誤。也許兩個。我很高興你補充說明。 – intuited 2010-03-26 01:15:53

+0

更新的問題來澄清。蘋果文檔不會覆蓋堆棧的這一端。 – lolsborn 2010-03-26 01:56:20

回答

9

Apple Push Notification Service Programming Guide

重要:無線網絡用於推 通知僅如果沒有 蜂窩連接,或者如果設備 是一部iPod touch。通過WiFi接收 通知,該設備的 顯示器必須是對(即,它不能 是睡覺),或者它必須插入。 的WiFi發射必須是 出站的TCP端口5223,並且必須是 內有效範圍。

也:

沙盒環境和生產環境

開發和部署客戶端 - 服務器應用程序的提供者 側, 你必須從 iPhone開發人員計劃門戶的SSL證書。每個 證書僅限於一個 應用程序,由其包 ID標識。每個證書也只限於 兩個發展 環境之一,每個都有自己的 分配的IP地址:

沙箱:沙盒環境是用於初始開發和提供應用程序的 測試 。 它提供了與生產環境 相同的一組服務 ,儘管服務器單元的數量較少 。沙盒環境 也作爲一個虛擬設備,使模擬的端到端測試成爲可能。您 在 gateway.sandbox.push.apple.com, 站TCP端口訪問沙箱環境2195

生產:構建提供者 應用的 生產版本時,使用的生產 環境。使用 生產環境的應用程序必須符合蘋果的可靠性要求 。您 在 gateway.push.apple.com,出站TCP訪問生產環境 端口2195

最後:

通用提供者要求

正如你可以溝通提供商 通過 二進制界面的Apple推送通知服務。這個接口是一個 高速,大容量接口 供應商;它使用流式TCP 套接字設計和 二進制內容。二進制接口 是異步的。

生產 環境的二進制接口可通過 gateway.push.apple.com,端口2195;沙盒 (開發)環境的 二進制接口可用 通過 gateway.sandbox.push.apple.com,端口 2195您可能會建立到同一 網關或多個網關 實例的多個並行連接。

+0

儘管第一部分明確表示他們使用TCP。最後兩個是從你的服務器兩個蘋果,而不是從蘋果到設備。 – lolsborn 2010-03-26 06:11:40

+0

Apple也將端口5223列爲TCP在其衆所周知的端口列表中:http://support.apple.com/kb/TS1629該列表用於Mac FaceTime等的推送通知,但推測它使用相同的協議。 – Cata 2011-11-05 21:23:14