RTCDataChannel: binaryType 属性
Baseline 广泛可用 *
RTCDataChannel 接口上的 binaryType 属性是一个字符串,它指定了用于表示在 RTCDataChannel 上接收到的二进制数据的对象类型。WebSocket.binaryType 属性允许的值在这里也同样适用:如果正在使用 Blob 对象,则为 blob;如果正在使用 ArrayBuffer 对象,则为 arraybuffer。默认值为 arraybuffer。
当在数据通道上收到二进制消息时,生成的 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 |
浏览器兼容性
加载中…