RTCDataChannel: binaryType 属性
属性 binaryType
在 RTCDataChannel
接口上是一个字符串,它指定用于表示在 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 的浏览器中加载。