websocket通信中failed to execute 'send' 问题解决

一时失言乱红尘 2022-01-26 14:03 768阅读 0赞

问题描述:

  1. 建立websocket连接后发送message发生错误:
  2. ![20190529105720781.png][]

问题代码:

  1. $(function() {
  2. //创建WebSocket
  3. connectWebSocket();
  4. send();
  5. })

问题原因:

  1. 起因是由于在实例化websocket的时候就会尝试与服务器进行连接,但是连接的状态是不确定的,readyState会标识这几种状态:
  2. CONNECTING:值为0,表示正在连接;
  3. OPEN:值为1,表示连接成功,可以通信了;
  4. CLOSING:值为2,表示连接正在关闭;
  5. CLOSED:值为3,表示连接已经关闭,或者打开连接失败。
  6. 由于发送消息的时候状态正处于CONNECTING的状态,所以会发生如上错误。

解决办法:

  1. 实例化websocketonopen()函数 在连接成功时回调。
  2. websocket.onopen = function () {
  3. console.log("onpen");
  4. send();
  5. }

发表评论

表情:
评论列表 (有 0 条评论,768人围观)

还没有评论,来说两句吧...

相关阅读