六月婷婷综合激情-六月婷婷综合-六月婷婷在线观看-六月婷婷在线-亚洲黄色在线网站-亚洲黄色在线观看网站

明輝手游網(wǎng)中心:是一個免費提供流行視頻軟件教程、在線學(xué)習(xí)分享的學(xué)習(xí)平臺!

服務(wù)端主動發(fā)送數(shù)據(jù)回客戶端在H5里的完成步奏

[摘要]我們知道,在Server Sent Event里,通過EventSource對象接收服務(wù)器發(fā)送事件的通知是有三個事件的,message, open, error這三種,今天就給大家演示一下服務(wù)端主動發(fā)送數(shù)據(jù)回客戶端在H5里的實現(xiàn)步奏。Server Sent EventServer Sent Eve...
我們知道,在Server Sent Event里,通過EventSource對象接收服務(wù)器發(fā)送事件的通知是有三個事件的,message, open, error這三種,今天就給大家演示一下服務(wù)端主動發(fā)送數(shù)據(jù)回客戶端在H5里的實現(xiàn)步奏。

Server Sent Event

Server Sent Event通過EventSource對象接收服務(wù)器發(fā)送事件的通知. 有三個事件message, open, error

下面的代碼演示了使用的方法

例子代碼運行環(huán)境: node.js

代碼

粘貼下面代碼運行node index.js

//index.html
<!DOCTYPE html>
<html>
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <meta http-equiv="X-UA-Compatible" content="ie=edge">
  <title>server-sent</title>
</head>
<body>
  <script>
    window.addEventListener("load",function () {
      let status = document.getElementById("status");
      let output = document.getElementById("output");
      let source;
 
      function connect() {
        source = new EventSource("stream");//與服務(wù)器端建立連接
        //鑒定message事件, 獲取服務(wù)端發(fā)送的數(shù)據(jù)
        source.addEventListener("message", function (event) {
          output.textContent = event.data;
        }, false);
        //監(jiān)聽open事件, 判斷連接是否進行中
        source,addEventListener("open", function (event) {
          status.textContent = '連接打開了';
        },false);
        //監(jiān)聽error事件, 處理連接錯誤的情況
        source.addEventListener("error", function (event) {
          if (event.target.readyState === EventSource.CLOSED) {
            source.close();
            status.textContent = '連接關(guān)閉了';
          } else {
            status.textContent = "連接關(guān)閉了!未知錯誤!";
          }
        }, false);
      }
      if(!!window.EventSource) {
        connect();
      } else {
        status.textContent = "不支持server-sent"
      }
    },false);
  </script>
  <span id="status">Connection closed!</span>
  <br>
  <span id="output"></span>
</body>
</html>

服務(wù)端代碼

//index.js
const http = require('http');
const fs = require('fs');
http.createServer(function (req, res) {
  let interval,
      fileName,
      index = "./index.html";
  console.log(req.url);
  if(req.url === "/") {
    fileName = index;
  } else {
    fileName = "." + req.url;
  }
 
  if (fileName === "./stream") {//如果server sent event則設(shè)置相應(yīng)頭信息
    res.writeHead(200, {
      "Content-Type" : "text/event-stream",
      "Cache-Control" : "no-cache",
      "Connection": "keep-alive",
    })
    res.write("retry: 10000\n");//過10000秒重試
    res.write("data: " + (new Date()) + "\n\n");
    interval = setInterval(function () {
      res.write("data: " + (new Date()) + "\n\n");
    }, 1000);
    //監(jiān)聽close事件, 用于停止定時器
    req.connection.addListener("close", function () {
      clearInterval(interval);
    }, false);
  } else if (fileName === index) {
    //判斷是否為頁面請求, 并找到相應(yīng)文件返回頁面
    fs.exists(fileName, function (exists) {
      if (exists) {
        fs.readFile(fileName, function (error, content) {
          if (error) {
            res.writeHead(500);
            res.end();
          } else {
            res.writeHead(200, {"Content-Type" : "text/html"});
            res.end(content, "utf-8");
          }
        })
      } else {
        console.log(123);
        res.writeHead(404);
        res.end();
      }
    })
  } else {
    res.writeHead(404);
    res.end();
  }
}).listen(8080, "127.0.0.1");
console.log("at 8080");


相信看了這些案例你已經(jīng)掌握了方法,更多精彩請關(guān)注php中文網(wǎng)其它相關(guān)文章!

相關(guān)閱讀:

HTML5標(biāo)簽嵌套規(guī)則的詳細(xì)介紹

瀏覽器兼容HTML5和CSS3的問題

html5做剪刀石頭布效果的教程

以上就是服務(wù)端主動發(fā)送數(shù)據(jù)回客戶端在H5里的實現(xiàn)步奏的詳細(xì)內(nèi)容,更多請關(guān)注php中文網(wǎng)其它相關(guān)文章!


網(wǎng)站建設(shè)是一個廣義的術(shù)語,涵蓋了許多不同的技能和學(xué)科中所使用的生產(chǎn)和維護的網(wǎng)站。




主站蜘蛛池模板: 使劲儿操 | 婷婷伊人五月 | 最近的2019中文字幕免费一页 | 亚洲成av人片天堂网 | 色狠狠色综合吹潮 | 日本特黄特色aaa大片免费欧 | 四虎影视在线免费观看 | 青青青青青青在线精品视频 | 四虎成人免费大片在线 | 日韩另类| 欧美一级片在线 | 片免费观看在线看 | 一级人做人a爰免费视频 | 午夜亚洲一区二区福利 | 亚洲男人的天堂视频 | 一级做a爰片久久毛片免费看 | 三级黄色片在线播放 | 深夜福利影院在线观看 | 青青青国产高清在线观看视频 | 在线观看男女爱视频网站 | 在线不卡一区二区三区日韩 | 色噜噜视频 | 青青草原在线免费观看 | 色成人综合| 日韩理论视频 | 亚洲91精品 | 最新国产福利在线观看 | 亚洲午夜久久久久久91 | 天天精品| 四只虎免费永久观看地址 | 亚洲第一黄网站 | 欧美一级看片a免费观看 | 香蕉视频日本 | 天天摸日日操 | 五月婷婷久| 视频免费1区二区三区 | 色偷偷尼玛图亚洲综合 | 日本在线视频网址 | 日韩黄色影院 | 亚洲精品第三页 | 青青青国产在线观看 |