RTCDataChannel: binaryType 属性

属性 binaryTypeRTCDataChannel 接口上是一个字符串,它指定用于表示在 RTCDataChannel 上接收到的二进制数据的对象的类型。 WebSocket.binaryType 属性允许的值在此处也允许: 如果使用 Blob 对象,则为 blob;如果使用 ArrayBuffer 对象,则为 arraybuffer。默认值为 blob

当在数据通道上接收到二进制消息时,结果 message 事件的 MessageEvent.data 属性将是 binaryType 指定类型的对象。

一个可以具有以下值之一的字符串

"blob"

接收到的二进制消息的内容将包含在 Blob 对象中。

"arraybuffer"

接收到的二进制消息的内容将包含在 ArrayBuffer 对象中。

示例

此代码将数据通道配置为以 ArrayBuffer 对象接收二进制数据,并为 message 事件建立一个监听器,该监听器构造一个字符串,将接收到的数据表示为十六进制字节值的列表。

js
const dc = peerConnection.createDataChannel("Binary");
dc.binaryType = "arraybuffer";

dc.onmessage = (event) => {
  const byteArray = new Uint8Array(event.data);
  let hexString = "";

  byteArray.forEach((byte) => {
    hexString += `${byte.toString(16)} `;
  });
};

规范

规范
WebRTC: 浏览器中的实时通信
# dom-datachannel-binarytype

浏览器兼容性

BCD 表格仅在启用 JavaScript 的浏览器中加载。

另请参见