请教一个websocket异常关闭 错误码1006的问题

gougou

情况是这样的 我使用的是gatewayworker 配置的是nginx反向代理 8282端口 然后服务端设置的心跳是40s 然后客户端设置的发送心跳间隔是30s 我chrome开了三个页面 一开始没啥问题 但是切其他窗口一段时间 比如10分钟 回来再看刚才的页面 websocket就已经关闭了 错误代码是1006 请问这是什么原因呢

3527 2 0
2个回答

walkor

切换到其它窗口js可能会暂停,导致心跳无法及时发出。js发心跳的时候记录下时间,当发生断开的时候看下时间间隔是否超出了服务端设置的心跳时间。

  • gougou 2021-12-08

    那我懂了 谢谢作者大大 太棒了吧 2分钟就有回复了 谢谢

gougou

这边额外贴一个回复 主要原因是浏览器对不活跃的窗口会有限制
https://www.zhihu.com/question/455964162

  • 暂无评论
年代过于久远,无法发表回答
🔝