websocket接收二进制数据
时间: 2023-09-30 12:03:03 浏览: 243
要接收 WebSocket 发送过来的二进制数据,可以使用 WebSocket 的 `binaryType` 属性设置为 `"arraybuffer"` 或 `"blob"`。
在 JavaScript 中,可以通过使用 `WebSocket` 对象的 `onmessage` 事件来接收 WebSocket 发送的数据。当 WebSocket 接收到消息时,会触发 `onmessage` 事件,事件处理函数中可以使用 `event.data` 属性来获取消息的数据。如果 `binaryType` 属性设置为 `"arraybuffer"`,则 `event.data` 将是一个 `ArrayBuffer` 对象;如果 `binaryType` 属性设置为 `"blob"`,则 `event.data` 将是一个 `Blob` 对象。
以下是一个示例代码,用于接收 WebSocket 发送的二进制数据:
```javascript
const socket = new WebSocket('ws://example.com');
socket.binaryType = 'arraybuffer'; // 设置 binaryType 属性为 "arraybuffer"
socket.onmessage = function(event) {
const data = new Uint8Array(event.data); // 将 ArrayBuffer 转换为 Uint8Array
console.log(data);
};
```
在上面的代码中,我们将 `binaryType` 属性设置为 `"arraybuffer"`,然后在 `onmessage` 事件处理函数中将 `event.data` 转换为 `Uint8Array` 对象,以便我们可以使用它来处理二进制数据。
阅读全文