SSE 单向推送
连接中--最近时间
--服务端数据
--SSE 在线数
同一个 Node 服务同时提供静态页面、SSE 推送和 WebSocket 双向通信。打开页面后可以看到服务端定时推送,也可以通过 WebSocket 主动发送消息并接收回显。
Content-Type: text/event-stream,保持 HTTP 连接不关闭。event: name 和 data: json 输出,并用空行结束。new EventSource('/events') 订阅,断线后浏览器会自动重连。res.write('event: tick\n');
res.write(`data: ${JSON.stringify(data)}\n\n`);
X-Accel-Buffering: no。req.close,及时移除连接,避免内存泄漏。upgrade 事件,计算 Sec-WebSocket-Accept 完成握手。server.on('upgrade', (req, socket) => {
// 计算 Sec-WebSocket-Accept
// 写入 101 Switching Protocols
});