将HTTP请求与SSE(服务器SentEvents)结合的方法如下:
const express = require('express');
const app = express();
app.get('/sse', (req, res) => {
res.setHeader('Content-Type', 'text/event-stream');
res.setHeader('Cache-Control', 'no-cache');
res.setHeader('Connection', 'keep-alive');
res.setHeader('Access-Control-Allow-Origin', '*');
// 模拟实时数据更新
setInterval(() => {
const data = { message: 'Hello SSE!' };
res.write(`data: ${JSON.stringify(data)}\n\n`);
}, 1000);
});
app.listen(3000, () => {
console.log('Server started on port 3000');
});
/sse
路径时,服务器会返回一个SSE流。通过res.write()
方法向客户端发送事件流数据,数据格式为data: { "message": "Hello SSE!" }\n\n
。客户端通过监听message事件,即可接收到服务器发送的数据。总结:将HTTP请求与SSE结合,可以实现实时数据推送和通知。通过前端JavaScript和后端服务器的配合,可以实现简单且高效的实时数据更新。腾讯云提供了多种与SSE相关的产品和服务,可以满足不同场景的需求。
领取专属 10元无门槛券
手把手带您无忧上云