1. 程式人生 > >web前端學習(二)html學習筆記部分(8)--伺服器推送事件3

web前端學習(二)html學習筆記部分(8)--伺服器推送事件3

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:錯誤發生

 

程式碼記錄