Baseline Widely available *
Das RTCDataChannel
-Interface repräsentiert einen Netzwerkkanal, 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 maximal 65.534 Datenkanäle haben (das tatsächliche Limit kann je nach Browser variieren).
Um einen Datenkanal zu erstellen und einen Remote-Peer einzuladen, ihm beizutreten, rufen Sie die Methode createDataChannel()
der RTCPeerConnection
auf. Der Peer, der eingeladen wird, Daten auszutauschen, empfängt ein datachannel
-Ereignis (vom Typ RTCDataChannelEvent
), das informiert, dass der Datenkanal zur Verbindung hinzugefügt wurde.
RTCDataChannel
ist ein übertragbares Objekt.
Erbt auch Eigenschaften von EventTarget
.
binaryType
Ein String, der den Objekttyp angibt, der verwendet werden soll, um binäre Daten zu repräsentieren, die auf dem RTCDataChannel
empfangen werden. Die Werte sind die gleichen wie bei der WebSocket.binaryType
-Eigenschaft zulässig: blob
, wenn Blob
-Objekte verwendet werden, oder arraybuffer
, wenn ArrayBuffer
-Objekte verwendet werden. Der Standardwert ist arraybuffer
.
bufferedAmount
Schreibgeschützt
Gibt die Anzahl der Bytes von Daten zurück, die derzeit zur Ãbertragung über den Datenkanal in der Warteschlange stehen.
bufferedAmountLowThreshold
Gibt die Anzahl der Bytes des gepufferten ausgehenden Daten an, die als "niedrig" angesehen wird. Der Standardwert ist 0.
id
Schreibgeschützt
Gibt eine ID-Nummer (zwischen 0 und 65.534) zurück, die das RTCDataChannel
eindeutig identifiziert.
label
Schreibgeschützt
Gibt einen String zurück, der einen Namen enthält, der den Datenkanal beschreibt. Diese Bezeichnungen müssen nicht eindeutig sein.
maxPacketLifeTime
Schreibgeschützt
Gibt die Zeitspanne in Millisekunden zurück, die der Browser hat, um zu versuchen, eine Nachricht zu übertragen, wie beim Erstellen des Datenkanals festgelegt, oder null
.
maxRetransmits
Schreibgeschützt
Gibt die maximale Anzahl von Ãbertragungsversuchen zurück, die der Browser unternehmen sollte, bevor er aufgibt, wie beim Erstellen des Datenkanals festgelegt, oder null
, was darauf hinweist, dass es kein Maximum gibt.
negotiated
Schreibgeschützt
Gibt an, ob die Verbindung des RTCDataChannel
von der Webanwendung (true
) oder der WebRTC-Schicht (false
) ausgehandelt wurde. Der Standard ist false
.
ordered
Schreibgeschützt
Gibt an, ob der Datenkanal die Zustellreihenfolge von Nachrichten gewährleistet; der Standardwert ist true
, was darauf hinweist, dass der Datenkanal in der Tat geordnet ist.
protocol
Schreibgeschützt
Gibt einen String zurück, der den Namen des verwendeten Subprotokolls enthält. Wenn beim Erstellen des Datenkanals kein Protokoll angegeben wurde, ist der Wert dieser Eigenschaft der leere String (""
).
readyState
Schreibgeschützt
Gibt einen String zurück, der den Zustand der zugrunde liegenden Datenverbindung des Datenkanals anzeigt. Es kann einen der folgenden Werte haben: connecting
, open
, closing
oder closed
.
reliable
Schreibgeschützt Veraltet Nicht standardisiert
Gibt an, ob der Datenkanal zuverlässig ist.
Erbt auch Methoden von EventTarget
.
close()
SchlieÃt das RTCDataChannel
. Beide Peers dürfen diese Methode aufrufen, um die SchlieÃung des Kanals einzuleiten.
send()
Sendet Daten über den Datenkanal an den Remote-Peer.
bufferedamountlow
Wird gesendet, wenn die Anzahl der Bytes von Daten im ausgehenden Datenpuffer unter den durch bufferedAmountLowThreshold
festgelegten Wert fällt.
close
Wird gesendet, wenn der zugrunde liegende Datentransport geschlossen wird.
closing
Wird gesendet, wenn der zugrunde liegende Datentransport zu schlieÃen beginnt.
error
Wird gesendet, wenn ein Fehler auf dem Datenkanal auftritt.
message
Wird gesendet, wenn eine Nachricht vom Remote-Peer empfangen wurde. Der Nachrichteninhalt kann in der data
-Eigenschaft des Ereignisses gefunden werden.
open
Wird 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 ist in der IEEE-Spezifikation SDP Offer/Answer Procedures for SCTP over DTLS Transport (RFC 8841) definiert. Das aktuelle Format spezifiziert sein Protokoll entweder als "UDP/DTLS/SCTP"
(UDP überträgt DTLS überträgt SCTP) oder "TCP/DTLS/SCTP"
(TCP überträgt DTLS überträgt SCTP). Ãltere Browser können nur "DTLS/SCTP"
angeben.
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 Browser-Kompatibilität Siehe auch
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4