websocket常見錯誤

當websockt鏈接是open的時候send()方法傳送數據,當鏈接關閉或獲取不到的時候回拋出異常。web

一個一般的錯誤是人們喜歡在鏈接open以前發送消息。以下所示:websocket

// 這將不會工做
var ws = new WebSocket("ws://echo.websocket.org")
ws.send("Initial data");

正確的姿式以下,應該等待open事件觸發後再發送消息。socket

var ws = new WebSocket("ws://echo.websocket.org")
ws.onopen = function(e) {
ws.send("Initial data");
}

若是想經過響應別的事件去發送消息,能夠檢查readyState屬性的值爲open的時候來實現。spa

function myEventHandler(data) {
    if (ws.readyState === WebSocket.OPEN) {
        ws.send(data);
    } else {
    }
}
相關文章
相關標籤/搜索