赞
踩
是一种用于服务器向客户端推送事件的媒体类型(Media Type)。它是基于 HTTP 协议的一种流式传输技术,也被称为 Server-Sent Events(SSE)
使用 text/event-stream,服务器可以实现与客户端的实时双向通信,通过推送事件来传递实时数据和状态变化。它与其他实时通信技术(如 WebSocket)相比,更适合于单向的服务器向客户端的通信场景,不支持客户端向服务器发送消息。它提供了一种简单的方式来实现服务器推送的功能,且在浏览器端的兼容性较好。
const http = require('http');
const yun = express();
const eventServer = http.createServer((req, res) => {
res.writeHead(200, {
'Content-Type': 'text/event-stream',
'Cache-Control': 'no-cache',
'Connection': 'keep-alive',
'Access-Control-Allow-Origin': "*",
'Access-Control-Allow-Headers': 'Content-Type,Content-Length,Authorization,Accept,X-Requested-With',
'Access-Control-Allow-Methods': 'PUT,POST,GET,DELETE,OPTIONS'
});
setInterval(() => {
// 事件要用两个\n结束
res.write('data: The server time is: ' + new Date() + '\n\n');
}, 1000);
req.connection.addListener('close', () => {
console.log('SSE connection closed!');
}, false);
}).listen(4001);
mounted() {
const evtSource = new EventSource("http://localhost:4001/");
evtSource.onmessage = function(event) {
console.log('event', event)
const serverTime = document.getElementById('serverTime');
serverTime.innerHTML = event.data;
};
}
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。