2010-11-02 50 views
1

服務器機制影像學,需要有消息到後和應用所述使用Wi-Fi或3G網絡的移動設備(的iPhone,iPad的iPod Touch)之間。這些消息不是直接在設備之間,而是通過管理此應用程序的服務器。通信到在iPhone/iPod的觸摸/ iPad應用

每個移動設備都需要能夠向服務器發起「消息」,並且服務器需要向客戶端發送消息(理想情況下,客戶端不必持續輪詢)。

能UDP使用雙向周邊的傳遞消息服務器之間的移動設備的目的是什麼?服務器有一個已知的IP,但3G網絡上的設備呢? Wifi設備在路由器後面呢?可能無法達到它們。

在鑑於此,在那裏沒有選擇,只能設計一種解決方案,其中客戶端的移動設備「輪詢」爲他們的消息的消息,而不是在服務器發起與他們的通信會話的服務器傳遞未決封郵件?

任何模式或在這個問題上,我可以從中受益的討論?

回答

1

我推薦一個基於HTTP的輪詢方法。如果沒有其他原因,就有很多現有的代碼和經驗可以借鑑。 iPhone是一個非常面向Web的設備,HTTP客戶端的工作相對簡單快捷。對更新進行輪詢應該非常簡單,而且我認爲,除了最實時的通信需求外,其他都可以滿足要求。

+0

感謝。我這麼認爲,唯一另一種使用雙向消息而無需輪詢並且沒有遇到NAT問題的方法是確保持續打開TCP連接。不是最優化的方法。 – JasonGenX 2010-11-03 15:14:44