問題描述:
建立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();
}