關閉代碼1006關閉websocket的緣由

關閉代碼1006是一種特殊的代碼,它表示瀏覽器實現異常(本地)關閉了鏈接。javascript

在websocket.onerror(evt)事件中查看詳細信息。可是,Chrome不多會向JavaScript端報告任何接近代碼1006的緣由。這多是因爲WebSocket規範中的客戶端安全規則所致,以防止濫用websocket。(例如使用它掃描目標服務器上的開放端口,或爲拒絕服務攻擊生成大量鏈接)。1006若是HTTP升級到Websocket時發生錯誤,Chrome一般會報告關閉代碼(這是在技術上「鏈接」 websocket以前的步驟)。因爲諸如身份驗證或受權不正確或協議使用不當(例如請求子協議,但服務器自己不支持該子協議)之類的緣由,甚至是試圖與非Websocket的服務器位置進行通訊的緣由(例如嘗試鏈接到ws://images.google.com/)前端

關閉緣由短語/消息的長度不能超過123個字符(這是有意的websocket限制)java

關閉的詳細信息及其根本緣由常常在Chrome的javascript控制檯中報告,而且包含至關詳細的信息。web

後端開發主要配合前端進行排查:若後端ack已經發送或者消息未到達後端,基本是前端websocket出現的錯誤。後端

相關文章
相關標籤/搜索