WebSocket、离线与恢复:练习答案
WebSocket open/message/close
open 后才发送订阅;message 按协议解析并校验版本;close 区分用户主动关闭、网络断开和认证失败。重连使用指数退避加随机抖动,并用消息 id 去重,不能假设 WebSocket 自动保证消息不丢。
SSE event/id/retry
SSE 事件按空行分帧,data: 多行要合并,id 保存到下次连接的 Last-Event-ID。断线后只处理游标之后的事件;服务端返回非 2xx 或错误 Content-Type 时进入错误状态。
online/offline 与恢复
offline 时停止无限重试并保留带幂等键的待发送队列;online 只代表网络接口恢复,不能证明 API 可用,因此仍需健康检查。恢复后先拉取服务器版本,再按冲突策略合并队列;身份过期时清理敏感队列并重新认证。
章节入口核对
以下入口对应本章概览或综合练习,答案核对沿用本章各知识点的实现与日志。