This is an experimental technologyCheck 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
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 | Status | Comment |
|---|---|---|
| WebRTC 1.0: Real-time Communication Between BrowsersThe definition of 'RTCDataChannel.binaryType' in that specification. | Candidate Recommendation | Initial specification. |
Browser compatibility
The compatibility table on this page is generated from structured data. If you'd like to contribute to the data, please check out https://github.com/mdn/browser-compat-data and send us a pull request.
Update compatibility data on GitHub
| Desktop | Mobile | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
|
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.
See also
RTCDataChannel.binaryType by Mozilla Contributors is licensed under CC-BY-SA 2.5.