写一段Server-Sent Events (SSE)的代码?
时间: 2023-12-06 22:22:54 浏览: 160
好的,以下是一个使用Node.js和Express框架实现SSE的示例代码:
```javascript
const express = require('express');
const app = express();
// 定义一个路由,用于向客户端发送SSE数据
app.get('/sse', (req, res) => {
// 将响应头设置为“text/event-stream”和“Cache-Control: no-cache”
res.setHeader('Content-Type', 'text/event-stream');
res.setHeader('Cache-Control', 'no-cache');
// 向客户端发送一条SSE消息
res.write('data: Hello, SSE!\n\n');
// 每5秒钟向客户端发送一条SSE消息
const intervalId = setInterval(() => {
res.write('data: Another message from server\n\n');
}, 5000);
// 当客户端断开连接时,停止发送SSE消息
req.on('close', () => {
clearInterval(intervalId);
});
});
// 启动服务器,监听端口3000
app.listen(3000, () => {
console.log('SSE server is running on port 3000');
});
```
在浏览器中访问 `http://localhost:3000/sse`,您将看到在页面上不断地显示 "Hello, SSE!" 和 "Another message from server"。这些消息来自服务器端的SSE流,可以用来实现实时通知、实时数据更新等功能。
阅读全文