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.

Die Eigenschaft binaryType auf der RTCDataChannel-Schnittstelle ist ein String, der den Typ des Objekts angibt, das verwendet werden soll, um binäre Daten, die über den RTCDataChannel empfangen werden, darzustellen. Werte, die durch die WebSocket.binaryType-Eigenschaft erlaubt sind, sind auch hier zulässig: blob, wenn Blob-Objekte verwendet werden, oder arraybuffer, wenn ArrayBuffer-Objekte verwendet werden. Der Standardwert ist blob.

Wenn eine binäre Nachricht über den Datenkanal empfangen wird, ist die resultierende message-Eigenschaft des MessageEvent.data-Ereignisses ein Objekt des durch binaryType angegebenen Typs.

Wert

Ein String, der einen dieser Werte haben kann:

"blob"

Die Inhalte empfangener binärer Nachrichten werden in Blob-Objekten enthalten sein.

"arraybuffer"

Die Inhalte empfangener binärer Nachrichten werden in ArrayBuffer-Objekten enthalten sein.

Beispiel

Dieser Code konfiguriert einen Datenkanal, um binäre Daten in ArrayBuffer-Objekten zu empfangen, und richtet einen Listener für message-Ereignisse ein, der einen String konstruiert, der die empfangenen Daten als 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