This is an experimental technology
Check the Browser compatibility table carefully before using this in production.
Draft
This page is not complete.
The property binaryType
on the RTCDataChannel
interface is a DOMString
which specifies the type of JavaScript object which should be used to represent binary data received on the RTCDataChannel
. Values allowed by the WebSocket.binaryType
property are also permitted here: "blob"
if Blob
objects are being used or "arraybuffer"
if ArrayBuffer
objects are being used. The default is "blob"
.
When a binary message is received on the data channel, the resulting message
event's MessageEvent.data
property is an object of the type specified by the binaryType
.
Syntax
var type = aDataChannel.binaryType; aDataChannel.binaryType = type;
Value
A DOMString
that can have one of these values:
"blob"
- Received binary messages' contents will be contained in
Blob
objects. "arraybuffer"
- Received binary messages' contents will be contained in
ArrayBuffer
objects.
Example
This code configures a data channel to receive binary data in ArrayBuffer
objects, and establishes a listener for message
events which constructs a string representing the received data as a list of hexadecimal byte values.
var dc = peerConnection.createDataChannel("Binary");
dc.binaryType = "arraybuffer";
dc.onmessage = function(event) {
let byteArray = new Uint8Array(event.data);
let hexString = "";
byteArray.forEach(function(byte) {
hexString += byte.toString(16) + " ";
});
};
Specifications
Specification | Status | Comment |
---|---|---|
WebRTC 1.0: Real-time Communication Between Browsers The definition of 'RTCDataChannel.binaryType' in that specification. |
Candidate Recommendation | Initial specification. |
Browser compatibility
Desktop | Mobile | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
binaryType | Chrome Full support Yes | Edge Full support ≤79 | Firefox Full support 18 | IE No support No | Opera Full support Yes | Safari Full support Yes | WebView Android Full support 4.4 | Chrome Android Full support 29 | Firefox Android Full support 18 | Opera Android Full support Yes | Safari iOS No support No | Samsung Internet Android Full support 2.0 |
Legend
- Full support
- Full support
- No support
- No support
- Experimental. Expect behavior to change in the future.
- Experimental. Expect behavior to change in the future.