外观
如何在 Android 中实现 WebSocket 的自动重连机制?
标准回答
断线后进入重连状态,采用有上限的指数退避加抖动,避免并发建立多条连接;重新连接时校验凭证并恢复订阅。业务消息通过序号、游标或幂等 ID 补发/补拉,页面退出或用户停止后取消重连。
通俗例子
网络恢复后按退避和随机延迟重连,用最后确认的消息序号补拉数据;退出账号后停止重连,避免旧会话继续工作。
深入解释
**重连不只是再次 connect:**旧连接失效后先结束旧监听,再用退避和随机抖动安排新连接,避免大量客户端同时反复连接。网络未恢复时不要无间隔重试。
**连上以后还要恢复什么:**按协议重新认证和订阅,并根据最后序号补消息或重新拉状态。仅显示“连接成功”,不能证明断线期间的数据已经补齐。
内容来源
- Android · AI Agent 知识手册 · 原条目
6.5.2