本文章記錄于2022.06.24
參考
1.websocket斷開
系統(tǒng)發(fā)現(xiàn)websocket每隔1分鐘自動斷開連接姜骡,設置一下nginx的proxy_read_timeout
但是這個時間過長會影響服務器性能隧土,采取心跳包的方式扇谣,即可解決問題
2.CloseEvent事件
CloseEvent.code // code是錯誤碼猾瘸,整數(shù)
CloseEvent.reason // reason是斷開原因畏鼓,字符串
CloseEvent.wasClean // 是否正常斷開,布爾值;異常斷開時,該值為false
3.code碼
狀態(tài)碼 | 名稱 | 描述 |
---|---|---|
0-999 | 保留段久橙,未使用 | |
1000 | CLOSE_NORMAL | 正常關閉;無論為何目的而創(chuàng)建管怠,該鏈接都已成功完成任務 |
1001 | CLOSE_GOING_AWAY | 終端離開淆衷,可能因為服務端錯誤,也可能因為瀏覽器正從打開連接的頁面跳轉離開 |
1002 | CLOSE_PROTOCOL_ERROR | 由于協(xié)議錯誤而中斷連接 |
1003 | CLOSE_UNSUPPORTED | 由于接收不到允許的數(shù)據(jù)類型而斷開連接 |
1004 | 保留 | |
1005 | CLOSE_NO_STATUS | 保留渤弛,表示沒有收到預期的狀態(tài)碼 |
1006 | CLOSE_ABNORMAL | 保留祝拯,用于期望收到狀態(tài)碼時連接非正常關閉(也就說沒有發(fā)送關閉幀) |
1007 | Unsupported Data | 由于收到格式不符的數(shù)據(jù)而斷開連接(如文本消息中包含了非UTF-8數(shù)據(jù)) |
1008 | Policy Violation | 由于收到不符合約定的數(shù)據(jù)而斷開連接. 這是一個通用狀態(tài)碼, 用于不適合使用 1003 和 1009 狀態(tài)碼的場景. |
1009 | CLOSE_TOO_LARGE | 由于收到過大的數(shù)據(jù)幀而斷開連接. |
1010 | Missing Extension | 客戶端期望服務器商定一個或多個拓展, 但服務器沒有處理, 因此客戶端斷開連接. |
1011 | Internal Error | 客戶端由于遇到?jīng)]有預料的情況阻止其完成請求, 因此服務端斷開連接 |
1012 | Service Restart | 服務器由于重啟而斷開連接. |
1013 | Try Again Later | 服務器由于臨時原因斷開連接, 如服務器過載因此斷開一部分客戶端連接 |
1014 | 由 WebSocket標準保留以便未來使用. | |
1015 | TLS Handshake | 保留. 表示連接由于無法完成 TLS 握手而關閉 (例如無法驗證服務器證書). |
1016-1999 | 由 WebSocket標準保留以便未來使用. | |
2000-2999 | 由 WebSocket拓展保留使用. | |
3000-3999 | 可以由庫或框架使用.? 不應由應用使用. 可以在 IANA 注冊, 先到先得. | |
4000-4999 | 可以由應用使用. |