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

BCD tables only load in the browser

Siehe auch