当前位置:网站首页 > AI与大数据 > 正文

websocket报错DOMException: Failed to execute 'send' on 'WebSocket': Still in CONNECTING state

webscoket初始化后 this.socket.send(message)时报错:DOMException: Failed to execute 'send' on 'WebSocket': Still in CONNECTING state

vm.init() vm.send()

要明白这个问题产生的原因,就需要了解websocket的几个状态。通常在实例化一个websocket对象之后,客户端就会与服务器进行连接。但是连接的状态是不确定的,于是用readyState属性来进行标识。它有四个值,分别对应不同的状态:

  • CONNECTING:值为0,表示正在连接;
  • OPEN:值为1,表示连接成功,可以通信了;
  • CLOSING:值为2,表示连接正在关闭;
  • CLOSED:值为3,表示连接已经关闭,或者打开连接失败。

这样问题的原因就很明显了,之所以数据不能发送出去,是因为websocket还处在“CONNECTING”状态下,连接还没有成功。

解决办法

只要在函数中添加对状态的判断,在状态为OPEN时,执行send方法即可。方法一代码如下

vm.init() if (vm.socket.readyState===1) { vm.send() }

 

到此这篇websocket报错DOMException: Failed to execute 'send' on 'WebSocket': Still in CONNECTING state的文章就介绍到这了,更多相关内容请继续浏览下面的相关推荐文章,希望大家都能在编程的领域有一番成就!

版权声明


相关文章:

  • 异步代码同步执行的await用法2024-12-01 09:00:04
  • 最新免费AI视频工具!生成6秒视频只需30秒!2024-12-01 09:00:04
  • 中英双语介绍英国(The United Kingdom)以及Great Britain为什么翻译成大不列颠?2024-12-01 09:00:04
  • 如何AI写脚本?一键生成,让视频脚本创作更简单!2024-12-01 09:00:04
  • 使用Raccoon AI写代码,同事又来围观2024-12-01 09:00:04
  • aiplaza简介(aini plaza)2024-12-01 09:00:04
  • aiplaza是什么意思(ai powered什么意思)2024-12-01 09:00:04
  • aiplaza(aiplaza有什么公司)2024-12-01 09:00:04
  • aiplaza(aiplaza招商)2024-12-01 09:00:04
  • faiss数据库教程(faostat数据库)2024-12-01 09:00:04
  • 全屏图片