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. | Working Draft | Initial specification. |
Feature | Chrome | Firefox (Gecko) | Internet Explorer | Opera | Safari |
---|---|---|---|---|---|
Basic support | 29 | 22 (22) [1] | No support | (Yes) | ? |
Feature | Android Webview | Chrome for Android | Firefox Mobile (Gecko) | IE Mobile | Opera Mobile | Safari Mobile |
---|---|---|---|---|---|---|
Basic support | 29 | 29 | 22.0 (22) | No support | ? | ? |
[1] The interface is called DataChannel
and not RTCDataChannel
in Firefox; however, a binding was added in Firefox 24 which allows either name to be used.
© 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