要發送二進制數據,您可以使用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來處理其中的二進制數據。
請注意,發送和接收的二進制數據格式需要相互協調,以便正確解析數據。