RTCDataChannel: binaryType-Eigenschaft

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