此页面由社区从英文翻译而来。了解更多并加入 MDN Web Docs 社区。

View in English Always switch to English

WebSocket:binaryType 属性

基线 广泛可用

自 2015年7月 起,此特性已在主流浏览器中得到支持,可在大多数设备和浏览器版本中正常使用。

备注: 此特性在 Web Worker 中可用。

WebSocket.binaryType 属性用于控制通过 WebSocket 连接接收的二进制数据类型。

一个字符串:

"blob"

使用 Blob 对象处理二进制数据。这是默认值。

"arraybuffer"

使用 ArrayBuffer 对象处理二进制数据。

示例

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

// 将二进制类型从“blob”更改为“arraybuffer”
socket.binaryType = "arraybuffer";

// 监听消息
socket.addEventListener("message", (event) => {
  if (event.data instanceof ArrayBuffer) {
    // 二进制帧
    const view = new DataView(event.data);
    console.log(view.getInt32(0));
  } else {
    // 文本帧
    console.log(event.data);
  }
});

规范

规范
WebSockets
# ref-for-dom-websocket-binarytype①

浏览器兼容性