教程

WebSocket 断线重连最佳实践

长连接会遇到网络抖动与进程重启。正确的检测、退避与状态恢复决定行情终端是否稳定。

检测断线

结合服务端 ping/pong 与客户端读超时;超过阈值主动 close,进入重连状态机,并打点 disconnect_reason。

指数退避

间隔从 1s 指数退避到上限(如 30–60s),加抖动避免雷群。连续失败告警,勿无限疯狂重连。

状态恢复

重连成功后重新 subscribe 全量标的,并用 REST quote 校准 last price,填补缺口。

可观测性

监控连接时长、重连次数、消息间隙与错误码。保留最近订阅清单以便热备切换。

参考实现

语言示例见 /guides/websocket-live-quotes 与 Node.js 教程;浏览器调试可用 /tools/ws-debugger。