1. 程式人生 > >Android--推送機制實現原理(一)

Android--推送機制實現原理(一)

簡介

Pull模式

 傳統的移動端APP從伺服器獲取資訊的途徑是通過主動向伺服器發起Request請求,通常稱這種模式為Pull模式,這種模式移動端與伺服器端維持的是短連線,也就是需要時由移動端主動發起請求建立連線,獲取到伺服器端的資料之後,隨即斷開連線,下次需要時再重新建立。

Push模式

 服務端主動傳送訊息給移動端的通訊模式,通常稱為Push模式,也就是所謂的推送機制。推送機制要求移動端和服務端保持一個長連線通道,當服務端需要傳送訊息給移動端時,直接通過這個早已建立好的連線通訊即可。
 在實際開發中,我們需要根據具體的業務的需求來決定是採用Pull模式還是Push模式。

模式小結

 Pull模式通過輪詢的方式實現類似推送的功能,這種方式通過在移動端啟動一個定時器,每隔一段時間向伺服器端發起Pull請求,存在資料則拉取,否則繼續等到下一次輪詢。輪詢的方式是一種偽推送,它比正常的推送需要花費更多的電量、網路流量,而且不能實時獲取資料,一般不推薦這種做法。
 真正的推送機制是基於TCP長連線實現的,並通過間隔性發送心跳包來防止NAT超時,同時可以判斷與服務端的連線是否斷開,最終保證通道的暢通