我讀過的文檔 https://developer.android.com/google/gcm/index.html谷歌雲消息 -
,我可以看到的唯一區別CCS(XMPP)與HTTP服務器是基於CCS(XMPP)服務器直接允許之間的雙向通信android設備和GCM服務器。
是否有任何其他原因爲什麼你會選擇通過HTTP的CCS(XMPP),反之亦然?
我讀過的文檔 https://developer.android.com/google/gcm/index.html谷歌雲消息 -
,我可以看到的唯一區別CCS(XMPP)與HTTP服務器是基於CCS(XMPP)服務器直接允許之間的雙向通信android設備和GCM服務器。
是否有任何其他原因爲什麼你會選擇通過HTTP的CCS(XMPP),反之亦然?
CCS(XMPP)是異步的,這意味着它應該比HTTP更快。它還使用設備上現有的GCM連接將消息從應用發送到服務器(由於不必打開自己的服務器連接,因此節省了電量)。
在另一方面,HTTP是簡單得多的代碼,所以除非你需要雙向通信功能,或者您需要在非常高的速度發送郵件,我會用HTTP堅持。
您可以通過一次http呼叫gcm向1000個設備廣播消息。對於廣播http比CCS好。
但是如何通過http brooadcast客戶端?除非客戶端正在ping服務器進行廣播。 – user1517108
您發送一個http post請求到gcm服務器。它會廣播給設備。 Gcm服務器是我們的服務器和移動設備之間的中間連接。 –
從谷歌文檔:
您可以繼續使用HTTP請求機制將消息發送到GCM服務器,並排側CCS它使用XMPP。一些CCS的好處包括:
XMPP的異步特性,您可以用更少的資源發送更多的消息。
溝通是雙向的,不僅可以在服務器將郵件發送到該設備,但該設備可以將消息發送回服務器。
設備可以使用用於接收的相同連接發回消息,從而延長電池壽命。一年 https://cloud.google.com/appengine/docs/deprecations/xmpp
後
不幸的是谷歌雲平臺將禁用XMPP API我會選擇XMPP,以節省設備的電池引起大的關注其一個時下!
「CCS(XMPP)是異步的,這意味着它應該比HTTP更快」:不應該有一個簡單的異步ajax調用類似嗎?另外在任何給定的點上都有一個1000毫秒的節流閥......所以如果你有很多用戶通信ccs應該是一個問題。 – user1517108