WebSocket 模式提供持久的双向连接,允许客户端和服务器之间实时交换消息。 相比传统的 HTTP 请求-响应模式,WebSocket 减少了连接建立和头部开销, 特别适合需要频繁交互的应用。
优势
- 更低延迟 — 持久连接避免了每次请求的 TCP 握手开销
- 双向通信 — 服务器可以主动推送消息到客户端
- 更少开销 — 无需每次请求重复发送 HTTP 头部
- 实时流式 — 原生支持流式输出和实时事件
适用场景
- 实时聊天应用 — 需要低延迟的多轮对话
- 语音智能体 — 实时语音输入输出
- 协作工具 — 多用户实时协作编辑
- 实时监控 — 模型推理结果的实时推送
- 游戏 AI — 需要快速响应的 NPC 对话
连接管理
WebSocket 连接需要妥善管理生命周期 — 包括连接建立、心跳保活、断线重连和优雅关闭。 建议使用指数退避策略处理重连。
与 SSE 对比
| SSE (Server-Sent Events) | WebSocket | |
|---|---|---|
| 方向 | 服务器 → 客户端(单向) | 双向 |
| 协议 | HTTP | WebSocket |
| 持久连接 | 是 | 是 |
| 适用场景 | 流式输出 | 实时双向通信 |