教程

WebSocket 斷線重連最佳實踐

長連接會遇到網絡抖動與進程重啟。正確的檢測、退避與狀態恢復決定行情終端是否穩定。

檢測斷線

結合服務端 ping/pong 與客戶端讀超時;超過閾值主動 close,進入重連狀態機,並打點 disconnect_reason。

指數退避

間隔從 1s 指數退避到上限(如 30–60s),加抖動避免雷群。連續失敗告警,勿無限瘋狂重連。

狀態恢復

重連成功後重新 subscribe 全量標的,並用 REST quote 校準 last price,填補缺口。

可觀測性

監控連接時長、重連次數、消息間隙與錯誤碼。保留最近訂閱清單以便熱備切換。

參考實現

語言示例見 /guides/websocket-live-quotes 與 Node.js 教程;瀏覽器調試可用 /tools/ws-debugger。