[ Web Proxy ]
URL:
Viewing: https://developer.mozilla.org/de/docs/Web/API/RTCDataChannel [Back]  [Original]

RTCDataChannel - Web-APIs | MDN

Dieser Inhalt wurde automatisch aus dem Englischen bersetzt, und kann Fehler enthalten. Erfahre mehr ber dieses Experiment.

View in English Always switch to English

RTCDataChannel

Baseline Weitgehend verfgbar *

Diese Funktion ist gut etabliert und funktioniert auf vielen Gerten und in vielen Browserversionen. Sie ist seit Januar 2020 browserbergreifend verfgbar.

* Einige Teile dieser Funktion werden mglicherweise unterschiedlich gut untersttzt.

Die RTCDataChannel-Schnittstelle stellt einen Netzwerkkanal dar, der fr bidirektionale Peer-to-Peer-bertragungen beliebiger Daten verwendet werden kann. Jeder Datenkanal ist mit einer RTCPeerConnection verbunden, und jede Peer-Verbindung kann theoretisch bis zu 65.534 Datenkanle haben (das tatschliche Limit kann je nach Browser variieren).

Um einen Datenkanal zu erstellen und einen Remote-Peer einzuladen, rufen Sie die Methode createDataChannel() der RTCPeerConnection auf. Der Peer, der eingeladen wird, um Daten auszutauschen, erhlt ein datachannel-Ereignis (dieses hat den Typ RTCDataChannelEvent), um mitzuteilen, dass der Datenkanal zur Verbindung hinzugefgt wurde.

RTCDataChannel ist ein transferierbares Objekt.

EventTarget RTCDataChannel

In diesem Artikel

Instanzeigenschaften

Erbt auch Eigenschaften von EventTarget.

binaryType

Ein String, der den Objekttyp angibt, der verwendet werden soll, um binre Daten, die auf dem RTCDataChannel empfangen werden, darzustellen. Die Werte sind die gleichen wie bei der WebSocket.binaryType-Eigenschaft erlaubt: blob, wenn Blob-Objekte verwendet werden, oder arraybuffer, wenn ArrayBuffer-Objekte verwendet werden. Der Standard ist arraybuffer.

bufferedAmount Schreibgeschtzt

Gibt die Anzahl der Datenbytes zurck, die derzeit zur bertragung ber den Datenkanal in die Warteschlange gestellt sind.

bufferedAmountLowThreshold

Gibt die Anzahl der Datenbytes an, die als "niedrig" gepuffert gelten. Der Standardwert ist 0.

id Schreibgeschtzt

Gibt eine ID-Nummer (zwischen 0 und 65.534) zurck, die den RTCDataChannel eindeutig identifiziert.

label Schreibgeschtzt

Gibt einen String zurck, der einen Namen enthlt, der den Datenkanal beschreibt. Diese Bezeichnungen mssen nicht eindeutig sein.

maxPacketLifeTime Schreibgeschtzt

Gibt die Zeitdauer in Millisekunden zurck, die der Browser hat, um zu versuchen, eine Nachricht zu bertragen, wie sie beim Erstellen des Datenkanals festgelegt wurde, oder null.

maxRetransmits Schreibgeschtzt

Gibt die maximale Anzahl von Versuchen zurck, die der Browser unternehmen sollte, um eine Nachricht erneut zu bertragen, bevor er aufgibt, wie beim Erstellen des Datenkanals festgelegt wurde, oder null, was darauf hinweist, dass es kein Maximum gibt.

negotiated Schreibgeschtzt

Gibt an, ob die Verbindung des RTCDataChannel von der Web-App (true) oder von der WebRTC-Schicht (false) ausgehandelt wurde. Der Standard ist false.

ordered Schreibgeschtzt

Gibt an, ob der Datenkanal die Reihenfolge der Nachrichtenlieferung garantiert; der Standard ist true, was darauf hinweist, dass der Datenkanal tatschlich geordnet ist.

priority Schreibgeschtzt

Gibt einen String zurck, der die Prioritt des Datenkanals angibt, wie sie beim Erstellen des Datenkanals festgelegt wurde oder wie sie vom Benutzeragenten zugewiesen wurde. Mgliche Werte sind "very-low", "low", "medium" oder "high".

protocol Schreibgeschtzt

Gibt einen String zurck, der den Namen des verwendeten Subprotokolls enthlt. Wenn kein Protokoll angegeben wurde, als der Datenkanal erstellt wurde, ist der Wert dieser Eigenschaft der leere String ("").

readyState Schreibgeschtzt

Gibt einen String zurck, der den Zustand der zugrunde liegenden Datenverbindung des Datenkanals angibt. Er kann einen der folgenden Werte haben: connecting, open, closing oder closed.

Veraltete Eigenschaften

reliable Schreibgeschtzt

Gibt an, ob der Datenkanal zuverlssig ist.

Instanzmethoden

Erbt auch Methoden von EventTarget.

close()

Schliet den RTCDataChannel. Jeder Peer darf diese Methode aufrufen, um die Schlieung des Kanals zu initiieren.

send()

Sendet Daten ber den Datenkanal zum Remote-Peer.

Ereignisse

bufferedamountlow

Wird gesendet, wenn die Anzahl der Datenbytes im ausgehenden Datenpuffer unter den durch bufferedAmountLowThreshold angegebenen Wert fllt.

close

Wird gesendet, wenn der zugrunde liegende Datentransport geschlossen wird.

closing

Wird gesendet, wenn der zugrunde liegende Datentransport kurz davor steht, geschlossen zu werden.

error

Wird gesendet, wenn ein Fehler auf dem Datenkanal auftritt.

message

Wird gesendet, wenn eine Nachricht vom Remote-Peer empfangen wurde. Der Nachrichtentext kann in der data-Eigenschaft des Ereignisses gefunden werden.

open

Wird gesendet, wenn der Datenkanal zuerst geffnet wird oder wenn die zugrunde liegende Verbindung eines bestehenden Datenkanals erneut geffnet wird.

Datenformat

Das zugrunde liegende Datenformat wird durch die IEEE-Spezifikation SDP Offer/Answer Procedures for SCTP over DTLS Transport (RFC 8841) definiert. Das aktuelle Format spezifiziert sein Protokoll als entweder "UDP/DTLS/SCTP" (UDP, das DTLS, das SCTP trgt) oder "TCP/DTLS/SCTP" (TCP, das DTLS, das SCTP trgt). ltere Browser geben mglicherweise nur "DTLS/SCTP" an.

Beispiel

js
const pc = new RTCPeerConnection();
const dc = pc.createDataChannel("my channel");

dc.onmessage = (event) => {
  console.log(`received: ${event.data}`);
};

dc.onopen = () => {
  console.log("datachannel open");
};

dc.onclose = () => {
  console.log("datachannel close");
};

Spezifikationen

Spezifikation
WebRTC: Real-Time Communication in Browsers
# rtcdatachannel

Browser-Kompatibilitt

Siehe auch


Web Proxy Viewer  |  New URL  |  Original Page