60s无消息断线

最后更新于:2022-04-02 07:06:36

## 60s无消息断线 WebSocket 在建立连接后,如果没有消息接收与发送,60s内连接被服务器断开,这是因为 Nginx 或者 负载均衡层做了设置。 ### 解决方案: - 如果你的服务器 Nginx 是在最外层,那么修改 proxy_read_timeout 为更大的值即可解决。 - 如果最外层是阿里的负载均衡 SLB,那么恭喜你,修改 Nginx 也无效,只能通过 Javascript 做 ping/pong,但是 H5 并没有设计 ping/pong 的接口,所以只能使用 json 来当 ping 使用,就是在 Javascript 发送 `{"method":"server.ping","params":[],"id":2}` ,服务器回复 `{"error":null,"result":"pong","id":2}` 即可。
';