2011-09-15 41 views
5

作爲我正在開發的Android應用程序的一部分,有一個聊天室功能。我們有一個服務器可以處理傳入的消息並存儲消息。在手機和服務器之間保持套接字連接打開是否更好,以便服務器可以向手機發送任何新消息,還是讓手機更好地輪詢服務器以獲取新的聊天消息?Android - 套接字和輪詢

回答

1

輪詢缺乏實時連接,持續連接是電池耗盡。我認爲你正在尋找的是「推」和持久連接的組合。您可以通過推送來喚醒手機,然後通過套接字建立連接來處理聊天。

我建議閱讀this文章。 我不確定它是否提及c2dm,google推送服務。

+0

您是否可以限定您的陳述「持續性連接是電池耗盡」? – AgileYogi

+0

「持續性連接是電池耗盡」,因爲保持連接處於打開狀態意味着您需要持續使用資源。 – kuchi

3

這是一個壞的解決方案,應用程序隨機發布數據的民意調查。我想說的是,當你每隔5分鐘發生一些事情時,輪詢數據就很有用。這不符合聊天的情況下,一些用戶可以在一個小時內發佈的東西的,有些可以在2分鐘內

發佈30次,讓你的插座開放

0

我會保持插座敞開,如果你擔心即時通訊,需要時間來設置套接字連接,尤其是在使用GSM連接的情況下。我已經看到需要10秒或更長的時間才能在3G上打開一個插座,更不用說使用WiFi。