亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

一種阻止 WebSocket 錯誤顯示在瀏覽器控制臺中的方法

一種阻止 WebSocket 錯誤顯示在瀏覽器控制臺中的方法

智慧大石 2021-11-18 16:37:21
所以問題是當我嘗試向遠程主機啟動新的 WebSocket 時,有時瀏覽器的控制臺會打印一條紅色錯誤消息并抱怨連接被拒絕,這是消息:Error in connection establishment: net::ERR_CONNECTION_REFUSED有錯誤是好的,因為遠程主機有時可能沒有響應,但我無法處理此錯誤消息的事實非常煩人。在我的 JavaScript 代碼中初始化一個之前,有沒有辦法處理這個錯誤消息或檢查遠程主機是否接受 WebSocket 連接?
查看完整描述

1 回答

?
一只甜甜圈

TA貢獻1836條經驗 獲得超5個贊

想到了幾種可能性:


添加WebSocket.onerror錯誤處理程序


myWebSocket.onerror = myEventHandler;

將您的“連接”包裹在try/catch 塊中


try {

   const connection = new WebSocket(myUrl);

   ...

}

catch(error) {

   console.error(error);

}

構建您的代碼,使您的 I/O 是事件驅動的:


https://developer.mozilla.org/en-US/docs/Web/API/WebSocket#Examples


    // Create WebSocket connection.

    const socket = new WebSocket('ws://localhost:8080');


    // Connection opened

    socket.addEventListener('open', function (event) {

        socket.send('Hello Server!');

    });


    // Listen for messages

    socket.addEventListener('message', function (event) {

       console.log('Message from server ', event.data);

    });


    // Handle errors

    socket.addEventListener('error', function (event) {

       console.log('WebSocket error observed:', event);

    });

附錄:

  • 上述方法可以讓您完全處理 websockets 異常。

  • 不管異常是否被處理,Chrome 調試器都會告訴你是否發生了異常。這是一件好事。它被稱為“第一次機會例外”:

    https://docs.microsoft.com/en-us/security-risk-detection/concepts/first-chance-exception

    .. 它被稱為“第一次機會”異?!趹贸绦蛱幚懋惓#ɑ虿惶幚恚┲埃{試器有第一次機會檢查異常。

    在 Microsoft 的 Visual Studio 調試器中,有一個小復選框可用于“堵住”第一次機會異常。我不知道 Chrome 調試器中有任何類似的“復選框”。

  • 可能的建議:

    • Chrome 調試器有一個“過濾器”。示例過濾器正則表達式:^((?!ERR_CONNECTION_REFUSED).)*$

    • 此鏈接建議您可以使用過濾器來“隱藏網絡消息”(我自己還沒有嘗試過)。另請參閱此鏈接


查看完整回答
反對 回復 2021-11-18
  • 1 回答
  • 0 關注
  • 947 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號