Experimental
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
BCD tables only load in the browser