温馨提示×

websocket怎么发送二进制数据

小亿
475
2023-12-04 15:06:54
栏目: 编程语言

要发送二进制数据,您可以使用WebSocket的send()方法,并将传递一个ArrayBuffer对象作为参数。以下是一个示例:

// 创建WebSocket连接
const socket = new WebSocket('ws://localhost:8080');

// 当连接打开时发送二进制数据
socket.onopen = function() {
  const buffer = new ArrayBuffer(8);
  const view = new Uint8Array(buffer);
  view[0] = 1;
  view[1] = 2;
  view[2] = 3;
  socket.send(buffer);
};

// 当接收到消息时处理二进制数据
socket.onmessage = function(event) {
  const buffer = event.data; // 接收到的二进制数据
  const view = new Uint8Array(buffer);
  console.log(view);
};

在这个例子中,我们创建了一个WebSocket连接,当连接打开时,我们创建了一个8字节的ArrayBuffer对象,并将一些数据写入到ArrayBuffer中。然后,我们使用WebSocket的send()方法发送ArrayBuffer对象。

当接收到消息时,我们获取到的数据是一个ArrayBuffer对象,我们可以将其转换为Uint8Array来处理其中的二进制数据。

请注意,发送和接收的二进制数据格式需要相互协调,以便正确解析数据。

0