Get to know MDN better
Dieser Inhalt wurde automatisch aus dem Englischen übersetzt, und kann Fehler enthalten. Erfahre mehr über dieses Experiment.
Diese Funktion ist gut etabliert und funktioniert auf vielen Geräten und in vielen Browserversionen. Sie ist seit Januar 2020 browserübergreifend verfügbar.
* Einige Teile dieser Funktion werden möglicherweise unterschiedlich gut unterstützt.
Die RTCDataChannel-Schnittstelle stellt einen Netzwerkkanal dar, der für 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 Datenkanäle haben (das tatsächliche 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, erhält ein datachannel-Ereignis (dieses hat den Typ RTCDataChannelEvent), um mitzuteilen, dass der Datenkanal zur Verbindung hinzugefügt wurde.
RTCDataChannel ist ein transferierbares Objekt.
EventTarget RTCDataChannelErbt auch Eigenschaften von EventTarget.
binaryTypeEin String, der den Objekttyp angibt, der verwendet werden soll, um binäre 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 SchreibgeschütztGibt die Anzahl der Datenbytes zurück, die derzeit zur Übertragung über den Datenkanal in die Warteschlange gestellt sind.
bufferedAmountLowThresholdGibt die Anzahl der Datenbytes an, die als "niedrig" gepuffert gelten. Der Standardwert ist 0.
id SchreibgeschütztGibt eine ID-Nummer (zwischen 0 und 65.534) zurück, die den RTCDataChannel eindeutig identifiziert.
label SchreibgeschütztGibt einen String zurück, der einen Namen enthält, der den Datenkanal beschreibt. Diese Bezeichnungen müssen nicht eindeutig sein.
maxPacketLifeTime SchreibgeschütztGibt die Zeitdauer in Millisekunden zurück, die der Browser hat, um zu versuchen, eine Nachricht zu übertragen, wie sie beim Erstellen des Datenkanals festgelegt wurde, oder null.
maxRetransmits SchreibgeschütztGibt die maximale Anzahl von Versuchen zurück, 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 SchreibgeschütztGibt an, ob die Verbindung des RTCDataChannel von der Web-App (true) oder von der WebRTC-Schicht (false) ausgehandelt wurde. Der Standard ist false.
ordered SchreibgeschütztGibt an, ob der Datenkanal die Reihenfolge der Nachrichtenlieferung garantiert; der Standard ist true, was darauf hinweist, dass der Datenkanal tatsächlich geordnet ist.
priority SchreibgeschütztGibt einen String zurück, der die Priorität des Datenkanals angibt, wie sie beim Erstellen des Datenkanals festgelegt wurde oder wie sie vom Benutzeragenten zugewiesen wurde. Mögliche Werte sind "very-low", "low", "medium" oder "high".
protocol SchreibgeschütztGibt einen String zurück, der den Namen des verwendeten Subprotokolls enthält. Wenn kein Protokoll angegeben wurde, als der Datenkanal erstellt wurde, ist der Wert dieser Eigenschaft der leere String ("").
readyState SchreibgeschütztGibt einen String zurück, der den Zustand der zugrunde liegenden Datenverbindung des Datenkanals angibt. Er kann einen der folgenden Werte haben: connecting, open, closing oder closed.
Gibt an, ob der Datenkanal zuverlässig ist.
Erbt auch Methoden von EventTarget.
close()Schließt den RTCDataChannel. Jeder Peer darf diese Methode aufrufen, um die Schließung des Kanals zu initiieren.
send()Sendet Daten über den Datenkanal zum Remote-Peer.
Wird gesendet, wenn die Anzahl der Datenbytes im ausgehenden Datenpuffer unter den durch bufferedAmountLowThreshold angegebenen Wert fällt.
closeWird gesendet, wenn der zugrunde liegende Datentransport geschlossen wird.
closingWird gesendet, wenn der zugrunde liegende Datentransport kurz davor steht, geschlossen zu werden.
errorWird gesendet, wenn ein Fehler auf dem Datenkanal auftritt.
messageWird gesendet, wenn eine Nachricht vom Remote-Peer empfangen wurde. Der Nachrichtentext kann in der data-Eigenschaft des Ereignisses gefunden werden.
openWird gesendet, wenn der Datenkanal zuerst geöffnet wird oder wenn die zugrunde liegende Verbindung eines bestehenden Datenkanals erneut geöffnet wird.
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 trägt) oder "TCP/DTLS/SCTP" (TCP, das DTLS, das SCTP trägt). Ältere Browser geben möglicherweise nur "DTLS/SCTP" an.
| WebRTC: Real-Time Communication in Browsers # rtcdatachannel |
JavaScript aktivieren, um diese Browser-Kompatibilitätstabelle anzuzeigen.
Der Bauplan für ein besseres Internet.
Besuche die gemeinnützige Muttergesellschaft der Mozilla Corporation, die Mozilla Foundation.
Teile dieses Inhalts sind ©1998–2026 von einzelnen mozilla.org-Mitwirkenden. Inhalte sind verfügbar unter einer Creative-Commons-Lizenz.