web前端學習(二)html學習筆記部分(8)--伺服器推送事件3
阿新 • • 發佈:2018-11-24
1.2.22 html5伺服器推送事件
1.2.22.1 html5伺服器推送事件介紹
伺服器推送事件(Server-sent Events)是HTML5規範中的一個組成部分,可以用來從伺服器端實時推送資料到瀏覽器端。
傳統的伺服器端推送資料技術:Websocket:WebSocket規範是HTML5中的一個重要組成部分,已經被很多主流瀏覽器所支援,也有不少基於WebSocket開發的應用。正如名稱所表示的一樣,WebSocket使用的是套接字連結,基於TCP協議。使用WebSocket之後,實際上在伺服器端和瀏覽器之間建立起一個套接字連線,可以進行雙向的資料傳輸。WebSocket的功能是很強大的,使用起來靈活,可以適用於不同的場景。不過WebSocket技術也比較複雜,包括伺服器端和瀏覽器端的實現都不同於一般的web應用。
HTTP協議:簡易輪詢,即瀏覽器端定時向伺服器端發出請求,來查詢是否有資料更新。這種做法比較簡單,可以在一定程度上解決問題。不過對於輪詢的時間間隔需要進行仔細考慮。輪詢的間隔過長,會導致使用者不能及時接收得到更新的資料;輪詢的時間過短,會導致查詢請求過多,增加伺服器的負擔。
1.2.22.2 html5伺服器推送事件實現
伺服器程式碼頭:
header('Content-Type:text/event-stream');
EventSource事件:
onopen事件:伺服器連結被開啟
onmessage事件:接受訊息
onerror:錯誤發生
程式碼記錄