天天看點

即時通訊

幾種常見解決消息即時擷取方案

1)輪詢(Pull)方式:用戶端定時向伺服器發送詢問消息,一旦伺服器有變化則立即同步消息

2)SMS(短信消息)(Push)方式:通過攔截SMS消息并且解析消息内容來了解伺服器的指令,但這種方式一般使用者在經濟上很難承受

3)持久連接配接(Push)方式:用戶端和伺服器之間建立長久連接配接,這樣就可以實作消息的及時性和實時性

及時推送原理:

* 傳統擷取伺服器資料使用的是pull模式,是用戶端想伺服器請求資料。從用戶端發起連接配接請求,擷取到伺服器資料後就關閉連接配接。當連接配接斷開後,伺服器就會失去用戶端的位址,是以無法主動向用戶端發送消息

* 推送(push)是服務主動向用戶端發送資料。它的原理是保持一個長連接配接,當客戶單和伺服器建立連接配接猴不再斷開,這樣伺服器随時有新消息都可以發送給用戶端。

長連接配接

指在一個TCP連接配接上可以連續發送多個資料包,在TCP連接配接保持期間,如果沒有資料包發送,需要雙方發檢測包以維持此連接配接

短連接配接

指通信雙方有資料互動時,就建立一個TCP連接配接,資料發送完成後,則斷開此TCP連接配接,即每次TCP連接配接隻完成一對

* 至于如何擷取推送消息。由于服務端傳來消息的時間是不确定的,這裡隻能等待推送SDK的回調,比如通過注冊監聽或者廣播接受者。不同的廠商的推送SDK可能會有不同的處理方案,以百度推送SDK來說,是通過廣播接收者擷取推送資料

繼續閱讀