websocket通信中failed to execute 'send' 問題解決

問題描述:

    建立websocket連接後發送message發生錯誤:

    

 問題代碼:

    $(function() {

        //創建WebSocket
        connectWebSocket();
        send();
    })

問題原因:

    起因是由於在實例化websocket的時候就會嘗試與服務器進行連接,但是連接的狀態是不確定的,readyState會標識這幾種狀態:

    CONNECTING:值爲0,表示正在連接;

    OPEN:值爲1,表示連接成功,可以通信了;

    CLOSING:值爲2,表示連接正在關閉;

    CLOSED:值爲3,表示連接已經關閉,或者打開連接失敗。

    由於發送消息的時候狀態正處於CONNECTING的狀態,所以會發生如上錯誤。

解決辦法:

    實例化websocket的onopen()函數 在連接成功時回調。

    

websocket.onopen = function () {
    console.log("onpen");
    send();
}

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章