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 (WebRTC 1.0) # dom-datachannel-binarytype |
Browser compatibility
| Desktop | Mobile | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Internet Explorer | Opera | Safari | WebView Android | Chrome Android | Firefox for Android | Opera Android | Safari on IOS | Samsung Internet | |
binaryType |
24 |
79 |
22 |
No |
15 |
11 |
≤37 |
25 |
22 |
14 |
11 |
1.5 |
See also
© 2005–2021 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/API/RTCDataChannel/binaryType