摘要:部分獲得服務器更新斷開支持跨域攜帶抱歉,您的瀏覽器不支持事件斷開鏈接服務器端部分,為例只有包含的數據行后面有空行時才觸發事件的值為注意換行符
html部分
獲得服務器更新
服務器端部分,nodejs為例
var http = require("http"); // var sys = require("sys"); var fs = require("fs"); http.createServer(function(req, res) { // debugHeaders(req); if (req.headers.accept && req.headers.accept == "text/event-stream") { if (req.url == "/events") { sendSSE(req, res); } else { res.writeHead(404); res.end(); } } else { res.writeHead(200, {"Content-Type": "text/html"}); // res.write(fs.readFileSync(__dirname + "/sse-node.html")); res.write(fs.readFileSync(__dirname + "/sse.html")); res.end(); } }).listen(8000); function sendSSE(req, res) { res.writeHead(200, { "Content-Type": "text/event-stream", "Cache-Control": "no-cache", "Connection": "keep-alive" }); var id = (new Date()).toLocaleTimeString(); setInterval(function() { constructSSE(res, id, (new Date()).toLocaleTimeString()); }, 5000); constructSSE(res, id, (new Date()).toLocaleTimeString()); //res.end(); } //只有包含data:的數據行后面有空行時才觸發message事件 //data:foo //data:bar //的event.data值為 "for/nbar" 注意換行符 function constructSSE(res, id, data) { res.write("id: " + id + " "); res.write("data: " + data + " "); } // function debugHeaders(req) { // sys.puts("URL: " + req.url); // for (var key in req.headers) { // sys.puts(key + ": " + req.headers[key]); // } // sys.puts(" "); // }
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/81137.html
閱讀 2101·2021-11-18 10:02
閱讀 2850·2021-09-04 16:41
閱讀 1142·2019-08-30 15:55
閱讀 1405·2019-08-29 17:27
閱讀 1070·2019-08-29 17:12
閱讀 2535·2019-08-29 15:38
閱讀 2855·2019-08-29 13:02
閱讀 2831·2019-08-29 12:29