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以上
各種技術對比
參考:
伺服器推送 Server Push
伺服器推送 server push 推送技術的基礎思想是將瀏覽器主動查詢資訊改為伺服器主動傳送資訊。伺服器傳送一批資料,瀏覽器顯示這些資料,同時保證與伺服器的連線。當伺服器需要再次傳送一批資料時,瀏覽器顯示資料並保持連線。以後,伺服器仍然可以傳送批量資料,瀏覽器繼續顯示資料,依次類推。客戶端拉曳 c...
伺服器推送技術 Server Push 詳解
推送技術的基礎思想是將瀏覽器主動查詢資訊改為伺服器主動傳送資訊。伺服器傳送一批資料,瀏覽器顯示這些資料,同時保證與伺服器的連線。當伺服器需要再次傳送一批資料時,瀏覽器顯示資料並保持連線。以後,伺服器仍然可以傳送批量資料,瀏覽器繼續顯示資料,依次類推。客戶端拉曳 client pull 在客戶端拖曳技...
天氣推送伺服器
1 主要功能 使用者通過天氣推送伺服器暴露出來的介面進行註冊,註冊完畢之後使用者可以新增一些自己的親朋好友的資訊。每天定時爬取全國的天氣,然後推送給使用者的親朋好友。2 伺服器 伺服器使用的是乙個協程版本的web伺服器,支援get和post方法,底層用cgi方法處理帶引數的請求。伺服器對外暴露兩個介...