情况是这样的 我使用的是gatewayworker 配置的是nginx反向代理 8282端口 然后服务端设置的心跳是40s 然后客户端设置的发送心跳间隔是30s 我chrome开了三个页面 一开始没啥问题 但是切其他窗口一段时间 比如10分钟 回来再看刚才的页面 websocket就已经关闭了 错误代码是1006 请问这是什么原因呢
切换到其它窗口js可能会暂停,导致心跳无法及时发出。js发心跳的时候记录下时间,当发生断开的时候看下时间间隔是否超出了服务端设置的心跳时间。
那我懂了 谢谢作者大大 太棒了吧 2分钟就有回复了 谢谢
这边额外贴一个回复 主要原因是浏览器对不活跃的窗口会有限制 https://www.zhihu.com/question/455964162
切换到其它窗口js可能会暂停,导致心跳无法及时发出。js发心跳的时候记录下时间,当发生断开的时候看下时间间隔是否超出了服务端设置的心跳时间。
那我懂了 谢谢作者大大 太棒了吧 2分钟就有回复了 谢谢
这边额外贴一个回复 主要原因是浏览器对不活跃的窗口会有限制
https://www.zhihu.com/question/455964162