摘要:部分獲得服務(wù)器更新斷開支持跨域攜帶抱歉,您的瀏覽器不支持事件斷開鏈接服務(wù)器端部分,為例只有包含的數(shù)據(jù)行后面有空行時(shí)才觸發(fā)事件的值為注意換行符
html部分
獲得服務(wù)器更新
服務(wù)器端部分,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:的數(shù)據(jù)行后面有空行時(shí)才觸發(fā)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(" "); // }
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/81137.html
摘要:本文則試著和讀者一起對(duì)這個(gè)數(shù)據(jù)推送的需求進(jìn)行技術(shù)方案的探究。數(shù)據(jù)推送有兩種替代方案無更新方案和數(shù)據(jù)拉取方案。數(shù)據(jù)拉取和數(shù)據(jù)推送的功能目標(biāo)是一致的讓用戶看到最新的數(shù)據(jù)。但數(shù)據(jù)推送有一些優(yōu)勢(shì),即更低的延遲。 前言 眾所周知,AJAX的出現(xiàn)是前端快速發(fā)展的一個(gè)標(biāo)志,同時(shí)也是前后端得以分離的重要基礎(chǔ)。作為一個(gè)C/S網(wǎng)絡(luò)的web系統(tǒng),網(wǎng)絡(luò)通信在發(fā)揮著舉足輕重的作用。大部分的場(chǎng)景下,我們是主動(dòng)觸發(fā)...
摘要:本文則試著和讀者一起對(duì)這個(gè)數(shù)據(jù)推送的需求進(jìn)行技術(shù)方案的探究。數(shù)據(jù)推送有兩種替代方案無更新方案和數(shù)據(jù)拉取方案。數(shù)據(jù)拉取和數(shù)據(jù)推送的功能目標(biāo)是一致的讓用戶看到最新的數(shù)據(jù)。但數(shù)據(jù)推送有一些優(yōu)勢(shì),即更低的延遲。 前言 眾所周知,AJAX的出現(xiàn)是前端快速發(fā)展的一個(gè)標(biāo)志,同時(shí)也是前后端得以分離的重要基礎(chǔ)。作為一個(gè)C/S網(wǎng)絡(luò)的web系統(tǒng),網(wǎng)絡(luò)通信在發(fā)揮著舉足輕重的作用。大部分的場(chǎng)景下,我們是主動(dòng)觸發(fā)...
閱讀 2114·2021-11-18 10:02
閱讀 2863·2021-09-04 16:41
閱讀 1156·2019-08-30 15:55
閱讀 1420·2019-08-29 17:27
閱讀 1107·2019-08-29 17:12
閱讀 2540·2019-08-29 15:38
閱讀 2864·2019-08-29 13:02
閱讀 2841·2019-08-29 12:29