WebSocket发送与接收数据

创建websocket对象,参数为服务器websockets地址:

websocket = new WebSocket("ws:127.0.0.1:7001");

1、发送文本数据

websocket.send('我太笨了,不知道你说的是啥')

2、发送对象数据

发送对象的话需要通过 JSON.parse() 和JSON.Stringify()来转换成字符串发送,接收到之后解析字符串来实现,当然还有其他的方式,只要把对象转成字符串就可以发送:

websocket.onmessage = (event) => {
  let data = JSON.parse(event.data) ;
  console.log(data);
}

websocket.send(
  JSON.Stringify({
    title:'发送对象数据',
    time:+new Date()
  })
)

3、发送与接收原始二进制数据

除了能发送文本信息和普通对象信息之外,还可以发送ArrayBuffer对象和Blob对象;接收ArrayBuffer和Blob对象的时候需要把类型设置成arraybuffer和blob才可以接收,下面看一个示例:

<!DOCTYPE html>
<html>
<body>

<canvas id="myCanvas" width="300" height="150" style="border:1px solid #d3d3d3;">
Your browser does not support the HTML5 canvas tag.
</canvas>

<script>
let websocket = new WebSocket("ws:127.0.0.1:7001");
let ctx=document.getElementById("myCanvas").getContext("2d");
let imgData=ctx.getImageData(10,10,50,50);
let binary = new UnitArray(imgData.data.length);

 for(let i = 0; i<imgData.data.length;i++){
     binary[i] = imgData.data[i];
  }
 //发送数据
  websocket.send(binary.buffer);
    
  //接收数据
  websocket.binaryType = "arraybuffer";
  websocket.onmessage = (event) => {
      let data = JSON.parse(event.data) ;
      console.log(event.data.byteLength);
    
  }
</script>
</body>
</html>

相关推荐

  1. WebSocket发送接收数据

    2024-04-22 13:28:03       14 阅读
  2. vue如何使用websocket接收数据发送数据

    2024-04-22 13:28:03       16 阅读
  3. websocket发送数据

    2024-04-22 13:28:03       10 阅读
  4. udp进行数据发送接收

    2024-04-22 13:28:03       35 阅读
  5. go内置库函数实现clientserver数据发送接收

    2024-04-22 13:28:03       31 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-04-22 13:28:03       18 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-04-22 13:28:03       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-04-22 13:28:03       19 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-04-22 13:28:03       20 阅读

热门阅读

  1. 探索ChatGPT写作新视野

    2024-04-22 13:28:03       14 阅读
  2. C# 中优雅的动态序列化接口返回数据

    2024-04-22 13:28:03       15 阅读
  3. Docker

    2024-04-22 13:28:03       11 阅读
  4. LeetCode279 完全平方数

    2024-04-22 13:28:03       15 阅读
  5. Vue3中props的原理与使用

    2024-04-22 13:28:03       13 阅读
  6. http、https、json编程

    2024-04-22 13:28:03       18 阅读
  7. 人工智能安全与光明时代

    2024-04-22 13:28:03       16 阅读
  8. 用Bash变量进行sed替换

    2024-04-22 13:28:03       16 阅读
  9. 在Bash中如何提取子字符串

    2024-04-22 13:28:03       17 阅读
  10. 负载均衡的原理和算法

    2024-04-22 13:28:03       15 阅读
  11. css3中有哪些伪选择器?

    2024-04-22 13:28:03       17 阅读