HTML5 中的伺服器推送事件是如何工作的?


伺服器推送事件對我們從伺服器流傳輸資料到客戶端的方式進行了標準化。要在 Web 應用程式中使用伺服器推送事件,您需要將 <<eventsource> 元素新增到文件中。

<eventsource> 元素的 src 屬性應指向一個URL,該 URL 應提供一個永續性 HTTP 連線,該連線會發送包含事件的資料流。

該 URL 將指向 PHP、PERL 或任何 Python 指令碼,該指令碼將負責持續傳送事件資料。以下是一個簡單的 Web 應用程式示例,該應用程式將獲取伺服器時間。

您可以嘗試執行以下程式碼來學習如何在 HTML5 中使用伺服器推送事件

示例

即時演示

<!DOCTYPE HTML>
<html>
   <head>
      <script type="text/javascript">
         document.getElementsByTagName("eventsource")[0].addEventListener("server-time", eventHandler, false);
         function eventHandler(event){
            // Alert time sent by the server
            document.querySelector('#ticker').innerHTML = event.data;
         }
      </script>
   </head>
   <body>
      <div id="sse">
         <eventsource src="/cgi-bin/ticker.cgi" />
      </div>
      <div id="ticker" name="ticker">
         [TIME]
      </div>
   </body>
</html>

最後,以下是用 perl 編寫的 ticker.cgi −

#!/usr/bin/perl
print "Content-Type: text/event-stream

"; while(true){    print "Event: server-time
";    $time = localtime();    print "Data: $time
";    sleep(5); }

更新於:2020 年 2 月 25 日

375 次瀏覽

開啟您的 職業生涯

透過完成課程來獲得認證

開始
廣告
© . All rights reserved.