复杂局域网里的 WebRTC 稳定性,重点不只是 WebRTC offer/answer 怎么转发,还包括外围控制链路如何恢复。
这个场景不是 2C 通话,而是更接近医疗、养老等机构里的设备群:大量共享设备长时间在线,集中运维,现场环境可能比较嘈杂,同时还要保证一定收音距离和通话音质。
我遇到的核心问题是:长连接不一定会明确断开,有时会出现“看起来还连着,但应用消息已经不通”的状态。结果是设备页面显示在线,但呼叫事件发不到对端,超时、挂断、多人通话清理都会变得不一致。
这篇文章聚焦几个点:
- WebSocket 长连接假连接为什么危险
- 为什么只依赖客户端主动重连不够
- gRPC Gateway 如何做双向控制
- 自动发现和主节点状态表怎么帮助恢复
- 呼叫超时、自动挂断、一对一挂断、多人挂断如何收敛
- 嘈杂环境下,音频可观测性为什么也属于稳定性的一部分
我的结论是:这不是简单的 WebSocket 换 gRPC ,而是要补齐发现、状态和恢复闭环。媒体链路仍然走 WebRTC ,Go/gRPC 更适合做控制面和状态收敛。
原文地址: https://www.lodan.me/posts/webrtc-grpc-gateway-discovery-recovery/
想听听大家在局域网、弱网、设备长时间运行场景里,是怎么处理长连接假在线和通话状态恢复的。