服務器推送(Server push)技術總結


1. 短輪詢

ajax按一定間隔去請求

2. 長輪詢(long Polling)

Long Polling的實現很簡單,可分為四個過程:

發起Polling
發起Polling很簡單,只需向服務器發起請求,此時服務端還未應答,所以客戶端與服務端之間一直處於連接狀態。

數據推送
如果服務器端有相關數據,此時服務端會將數據通過此前建立的通道發回客戶端。

Polling終止

Polling終止情況有三種:
若服務端返回相關數據,此時客戶端收到數據后,關閉請求連接,結束此次Polling過程。
若客戶端等待設定的超時時間后,服務端依然沒有返回數據,此時客戶端需要主動終止此次Polling請求。
若客戶端收到網絡故障或異常,此時客戶端自然也是需要主動終止此次Polling請求。

重新Polling
終止上次Polling后,客戶端需要立即再次發起Polling請求。這樣才能保證拉取數據的及時性。

3. comet 使用ajax長輪詢或iframe及htmlfile的流

4. SSE Server-Sent-Events,在瀏覽器中的支持以及很好,除了IE都支持

5. WebSocket,全雙工通信,在瀏覽器中的支持也很好,包括IE10以上

各種技術對比

 

參考:https://blog.csdn.net/qinyuanpei/article/details/87876849


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM