術語

WebSocket 心跳機制

沒有心跳的長連接會在 NAT 或負載均衡下靜默斷開,直到下一次發送才發現。

為何需要心跳

中間網絡設備會清理空閒 TCP 連接;定期 ping 可保持連接活躍並及早發現斷線。

客戶端實現

在讀超時未收到消息時發送 ping 或主動 close;收到 pong 後重置計時器。

與 subscribe 配合

重連後必須重新 subscribe;不要假設服務端會記住上次訂閱列表。

與重連的關係

心跳超時應進入重連狀態機,而不是靜默掛起;重連後必須重新 subscribe。

實踐

見斷線重連指南與 WS 調試工具。