在Node.js中如何实现`text/event-stream`的服务器端处理?
时间: 2024-09-10 16:27:37 浏览: 74
html5-comet-EventSource--node.js-example:node.js实现html5原生comet(长连接)例子
在Node.js中,`text/event-stream`通常用于创建实时流式数据发送,比如Websocket-like的行为,但是它并不是Node.js内置的一部分。如果你想实现类似的功能,可以使用第三方库如`ReadableStream`或者`ws`(WebSocket库)。以下是使用`ws`库的一个简单示例:
```javascript
const WebSocket = require('ws');
const wss = new WebSocket.Server({ port: 8080 });
wss.on('connection', (ws) => {
console.log('Client connected');
ws.on('message', (message) => {
// 这里你可以将接收到的消息转换成event-stream格式并发送出去
const eventStream = message.split('\n').map((line) => `data: ${line}\n\n`);
eventStream.forEach(line => ws.send(line));
});
ws.on('close', () => {
console.log('Client disconnected');
});
});
阅读全文