术语

WebSocket 心跳机制

没有心跳的长连接会在 NAT 或负载均衡下静默断开,直到下一次发送才发现。

为何需要心跳

中间网络设备会清理空闲 TCP 连接;定期 ping 可保持连接活跃并及早发现断线。

客户端实现

在读超时未收到消息时发送 ping 或主动 close;收到 pong 后重置计时器。

与 subscribe 配合

重连后必须重新 subscribe;不要假设服务端会记住上次订阅列表。

与重连的关系

心跳超时应进入重连状态机,而不是静默挂起;重连后必须重新 subscribe。

实践

见断线重连指南与 WS 调试工具。