服务器发送事件技能Skill sse

本技能专注于实现服务器发送事件技术,用于构建高效、可靠的实时数据流和单向通信系统。核心功能包括创建SSE端点、管理客户端连接、处理事件驱动更新以及实现自动重连机制。适用于开发实时通知、股票行情推送、在线聊天、仪表盘数据更新等需要低延迟、持续数据流的Web应用。关键词:服务器发送事件,SSE,实时流,事件驱动,WebSocket替代,单向通信,实时更新,通知系统。

后端开发 0 次安装 2 次浏览 更新于 2/26/2026

name: sse description: 服务器发送事件实现、流式传输模式及实时更新。 allowed-tools: Read, Write, Edit, Bash, Glob, Grep

SSE 技能

为实时流式传输实现服务器发送事件提供专家级协助。

能力

  • 实现SSE端点
  • 处理流式响应
  • 管理客户端连接
  • 构建事件驱动更新
  • 实现重连机制

使用场景

在以下情况时调用此技能:

  • 向客户端流式传输更新
  • 实现实时信息流
  • 构建通知系统
  • 单向实时通信

实现示例

// 服务器端
app.get('/events', (req, res) => {
  res.setHeader('Content-Type', 'text/event-stream');
  res.setHeader('Cache-Control', 'no-cache');
  res.setHeader('Connection', 'keep-alive');

  const sendEvent = (event: string, data: object) => {
    res.write(`event: ${event}
`);
    res.write(`data: ${JSON.stringify(data)}

`);
  };

  // 发送初始数据
  sendEvent('connected', { timestamp: Date.now() });

  // 订阅更新
  const unsubscribe = eventEmitter.on('update', (data) => {
    sendEvent('update', data);
  });

  req.on('close', () => {
    unsubscribe();
  });
});

// 客户端
const eventSource = new EventSource('/events');

eventSource.addEventListener('update', (event) => {
  const data = JSON.parse(event.data);
  console.log('更新:', data);
});

最佳实践

  • 处理重连机制
  • 使用事件类型进行路由
  • 实现保活机制
  • 断开连接时清理资源

目标流程

  • 实时更新
  • 实时信息流
  • 通知系统