RTCDataChannel: protocol-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 schreibgeschützte RTCDataChannel-Eigenschaft protocol gibt einen String zurück, der den Namen des verwendeten Subprotokolls enthält. Wenn bei der Erstellung des Datenkanals kein Protokoll angegeben wurde, ist der Wert dieser Eigenschaft der leere String ("").

Hinweis: Die erlaubten Werte dieser Eigenschaft werden von der Website oder App definiert, die den Datenkanal verwendet.

Die Möglichkeit, dass jeder Kanal ein definiertes Subprotokoll haben kann, ermöglicht es Ihrer App, zum Beispiel JSON-Objekte als Nachrichten auf einem Kanal zu verwenden, während ein anderer Kanal Klartext enthält und ein weiterer rohen Binärcode oder sogar ein anderes Format.

Wert

Ein String, der das von der App definierte Subprotokoll identifiziert, das zum Datenaustausch auf dem Kanal verwendet wird. Wenn keines festgelegt wurde, ist dies ein leerer String ("").

Beispiel

js
const pc = new RTCPeerConnection();
const dc = pc.createDataChannel("my channel", {
  protocol: "json",
});

function handleChannelMessage(dataChannel, msg) {
  switch (dataChannel.protocol) {
    case "json":
      /* process JSON data */
      break;
    case "raw":
      /* process raw binary data */
      break;
  }
}

Spezifikationen

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

Browser-Kompatibilität

BCD tables only load in the browser

Siehe auch