RTCDataChannel: binaryType-Eigenschaft

Baseline Widely available *

This feature is well established and works across many devices and browser versions. It’s been available across browsers since January 2020.

* Some parts of this feature may have varying levels of support.

Die Eigenschaft binaryType der RTCDataChannel-Schnittstelle ist ein String, der den Objekttyp angibt, der verwendet werden soll, um binäre Daten zu repräsentieren, die über das RTCDataChannel empfangen werden. Erlaubte Werte der WebSocket.binaryType-Eigenschaft sind auch hier zulässig: blob, wenn Blob-Objekte verwendet werden, oder arraybuffer, wenn ArrayBuffer-Objekte verwendet werden. Der Standardwert ist arraybuffer.

Wenn eine binäre Nachricht über den Datenkanal empfangen wird, ist die message Ereignis-Eigenschaft MessageEvent.data ein Objekt des Typs, der durch binaryType angegeben wurde.

Wert

Ein String, der einen dieser Werte haben kann:

"blob"

Der Inhalt der empfangenen binären Nachrichten wird in Blob-Objekten enthalten sein.

"arraybuffer"

Der Inhalt der empfangenen binären Nachrichten wird in ArrayBuffer-Objekten enthalten sein.

Beispiel

Dieser Code konfiguriert einen Datenkanal, um binäre Daten in ArrayBuffer-Objekten zu empfangen, und etabliert einen Listener für message-Ereignisse, der einen String erstellt, der die empfangenen Daten als eine Liste von hexadezimalen Byte-Werten darstellt.

js
const dc = peerConnection.createDataChannel("Binary");
dc.binaryType = "arraybuffer";

dc.onmessage = (event) => {
  const byteArray = new Uint8Array(event.data);
  let hexString = "";

  byteArray.forEach((byte) => {
    hexString += `${byte.toString(16)} `;
  });
};

Spezifikationen

Specification
WebRTC: Real-Time Communication in Browsers
# dom-datachannel-binarytype

Browser-Kompatibilität

Report problems with this compatibility data on GitHub
desktopmobile
Chrome
Edge
Firefox
Opera
Safari
Chrome Android
Firefox for Android
Opera Android
Safari on iOS
Samsung Internet
WebView Android
WebView on iOS
binaryType
ArrayBuffer value
Blob value

Legend

Tip: you can click/tap on a cell for more information.

Full support
Full support
No support
No support

Siehe auch