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

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
protocol

Legend

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

Full support
Full support

Siehe auch