RTCDataChannel: binaryType property
Baseline Widely available *
This feature is well established and works across many devices and browser versions. It’s been available across browsers since January 2020.
* Some parts of this feature may have varying levels of support.
The propertybinaryType on theRTCDataChannel interface is a string which specifiesthe type of object which should be used to represent binary data receivedon theRTCDataChannel. Values allowed by theWebSocket.binaryType property are also permitted here:blob ifBlob objects are being used orarraybuffer ifArrayBuffer objects are being used. Thedefault isarraybuffer.
When a binary message is received on the data channel, the resultingmessage event'sMessageEvent.data property is an object ofthe type specified by thebinaryType.
In this article
Value
A string that can have one of these values:
"blob"Received binary messages' contents will be contained in
Blobobjects."arraybuffer"Received binary messages' contents will be contained in
ArrayBufferobjects.
Example
This code configures a data channel to receive binary data inArrayBuffer objects, and establishes a listener formessageevents which constructs a string representing the received data as a list of hexadecimalbyte values.
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)} `; });};Specifications
| Specification |
|---|
| WebRTC: Real-Time Communication in Browsers> # dom-datachannel-binarytype> |