情況是這樣的 我使用的是gatewayworker 配置的是nginx反向代理 8282端口 然后服務端設置的心跳是40s 然后客戶端設置的發(fā)送心跳間隔是30s 我chrome開了三個頁面 一開始沒啥問題 但是切其他窗口一段時間 比如10分鐘 回來再看剛才的頁面 websocket就已經(jīng)關閉了 錯誤代碼是1006 請問這是什么原因呢
切換到其它窗口js可能會暫停,導致心跳無法及時發(fā)出。js發(fā)心跳的時候記錄下時間,當發(fā)生斷開的時候看下時間間隔是否超出了服務端設置的心跳時間。
那我懂了 謝謝作者大大 太棒了吧 2分鐘就有回復了 謝謝
這邊額外貼一個回復 主要原因是瀏覽器對不活躍的窗口會有限制 https://www.zhihu.com/question/455964162