1. 程式人生 > >android和IOS長連接區別

android和IOS長連接區別

csdn 等等 一個 bsp 存在 服務 我們 長連接 基礎

http://blog.csdn.net/zhangzeyuaaa/article/details/39028369

首先我們必須知道,所有的推送功能必須有一個客戶端和服務器的長連接,因為推送是由服務器主動向客戶端發送消息,如果客戶端和服務器之間不存在一個長連接那麽服務器是無法來主動連接客戶端的。因而推送功能都是基於長連接的基礎是上的。

IOS長連接是由系統來維護的,也就是說蘋果的IOS系統在系統級別維護了一個客戶端和蘋果服務器的長鏈接,IOS上的所有應用上的推送都是先將消息推送到蘋果的服務器然後將蘋果服務器通過這個系統級別的長鏈接推送到手機終端上,這樣的的幾個好處為:1.在手機終端始終只要維護一個長連接即可,而且由於這個長鏈接是系統級別的不會出現被殺死而無法推送的情況。2.

省電,不會出現每個應用都各自維護一個自己的長連接。3.安全,只有在蘋果註冊的開發者才能夠進行推送,等等。

android的長連接是由每個應用各自維護的,但是google也推出了和蘋果技術架構相似的推送框架,C2DM,雲端推送功能,但是由於google的服務器不在中國境內,其他的原因你懂的。所以導致這個推送無法使用,android的開發者不得不自己去維護一個長鏈接,於是每個應用如果都24小時在線,那麽都得各自維護一個長連接,這種電量和流量的消耗是可想而知的。雖然國內也出現了各種推送平臺,但是都無法達到只維護一個長連接這種消耗的級別。

android和IOS長連接區別