RTCDataChannel.binaryType
The property binaryType on the
RTCDataChannel interface is a DOMString which specifies
the type of 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
Blobobjects. "arraybuffer"-
Received binary messages' contents will be contained in
ArrayBufferobjects.
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 |
|---|
| WebRTC 1.0: Real-Time Communication Between Browsers # dom-datachannel-binarytype |
Browser compatibility
BCD tables only load in the browser