要发送二进制数据,您可以使用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来处理其中的二进制数据。
请注意,发送和接收的二进制数据格式需要相互协调,以便正确解析数据。