websocket通信中failed to execute 'send' 问题解决
问题描述:
建立websocket连接后发送message发生错误:
![20190529105720781.png][]
问题代码:
$(function() {
//创建WebSocket
connectWebSocket();
send();
})
问题原因:
起因是由于在实例化websocket的时候就会尝试与服务器进行连接,但是连接的状态是不确定的,readyState会标识这几种状态:
CONNECTING:值为0,表示正在连接;
OPEN:值为1,表示连接成功,可以通信了;
CLOSING:值为2,表示连接正在关闭;
CLOSED:值为3,表示连接已经关闭,或者打开连接失败。
由于发送消息的时候状态正处于CONNECTING的状态,所以会发生如上错误。
解决办法:
实例化websocket的onopen()函数 在连接成功时回调。
websocket.onopen = function () {
console.log("onpen");
send();
}
还没有评论,来说两句吧...