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.
var type = aDataChannel.binaryType; aDataChannel.binaryType = type;
A DOMString that can have one of these values:
"blob"Blob objects."arraybuffer"ArrayBuffer objects.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) + " ";
});
};
| Specification | Status | Comment |
|---|---|---|
| WebRTC 1.0: Real-time Communication Between Browsers The definition of 'RTCDataChannel.binaryType' in that specification. | Candidate Recommendation | Initial specification. |
| Desktop | ||||||
|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Internet Explorer | Opera | Safari | |
| Basic support | Yes | ? | 22 | No | Yes | ? |
| Mobile | |||||||
|---|---|---|---|---|---|---|---|
| Android webview | Chrome for Android | Edge Mobile | Firefox for Android | Opera for Android | iOS Safari | Samsung Internet | |
| Basic support | 4.4 | 29 | ? | 22 | Yes | No | Yes |
© 2005–2018 Mozilla Developer Network and individual contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/API/RTCDataChannel/binaryType