保障 WebSocket 连接稳定的措施
针对网络不稳定的问题,需要建立三重保障机制:
1. 客户端重连机制配置::
在 ESP32 固件代码中实现指数退避重连算法,建议设置:
– 初始重连延迟:1 秒
– 最大延迟:30 秒
– 重试次数:无限
2. 服务器端优化::
修改 config.yaml 相关参数:websocket:
keepalive_interval: 25
timeout: 600
max_retry: 5
3. 网络质量增强方案::
– 使用 QoS 标记 WebSocket 流量(DSCP 值建议设为 AF31)
– 部署双网卡冗余(有线+4G 模块)
– 启用 TCP Keepalive(需操作系统层面配置)
Programa de resposta a emergências::
当检测到连接中断时:
1. 服务端自动缓存最后 10 条指令
2. 客户端通过 UDP 发送心跳包检测网络状态
3. 恢复连接后优先同步未执行指令
通过以上措施,可使断线率降低 90%。建议在路由器后台监控 8000 端口的流量波动情况。
Essa resposta foi extraída do artigoxiaozhi-esp32-server: serviço de back-end de código aberto do chatbot de IA da XiaozhiO