2014-02-25 100 views
0

我嘗試學習Android和Web服務器之間的實時通信。溝通應該與XMPP和GCM一起工作。現在我需要服務器端的幫助。什麼應該用於服務器端的推送通知?什麼有最好的表現?我想到了PHP與GCM的結合。還是有更好的選擇?數據應該存儲在Web服務器上的MYSQL數據庫中。我已經搜索過,但有很多不同的解決方案,以至於令人困惑。Android XMPP - 服務器端

+0

hey man,podrias escribir cual fue la solucion que dieron? ,請問您有什麼需要注意的地方嗎? –

回答

3

Google Cloud Messaging現在是將消息發送到運行的應用程序的應用程序,由於Cloud to Device Messaging貶值的優選方法。

像你所說的那樣,還有XMPP,這恰好是我目前最喜歡的。

它功能強大,功能全面,可擴展,甚至還有開源解決方案,如果您想將其託管在您自己的盒子上。如果你這樣做,我建議OpenFire

只是弄溼胃口,下面是使用XMPP一些基準測試電池壽命:

Android客戶端必須保持通過喚醒 了定期發送心跳到XMPP服務器的持久TCP連接。這清楚地表明 從用電角度考慮了成本。下面提供這個成本的估計 :

  • 使用1400mAh的電池
  • 一個空閒設備,連接到3G網絡(如在Nexus和HTC提供),大約使用5毫安
  • 喚醒-up,心跳,睡眠週期每5分鐘時,需要3秒時間來完成和使用300毫安

因此在每小時的電池使用的成本是:

  • 36秒300毫安= 3mAh發送心跳
  • 3600秒5毫安= 5mAh在空閒
  • 4:95 + 3 = 7:95mAh組合
  • 甲1400mAh的電池持續大約運行時,在空閒11.6天和7.3天該應用程序代表了大約電池壽命縮短37%的 。
  • 但是,由於設備很少完全空閒,因此電池壽命縮短37%表示絕對最差的情況。
+0

我不得不和我的服務器管理員交談。他們告訴我,OpenFire不能安裝在他們使用的服務器上(必須使用另一臺服務器託管)。所以我想用GCM和PHP/MySQL來做。你有OpenFire和GCM之間的一些比較?性能有什麼不同?像我建議的那樣使用它是一個好主意嗎? – JavaForAndroid