RTCPeerConnection: datachannel-Ereignis
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.
Ein datachannel
-Ereignis wird an eine RTCPeerConnection
-Instanz gesendet, wenn ein RTCDataChannel
zur Verbindung hinzugefügt wurde, weil der entfernte Peers die Methode RTCPeerConnection.createDataChannel()
aufgerufen hat.
Hinweis: Dieses Ereignis wird nicht ausgelöst, wenn das lokale Ende der Verbindung den Kanal erstellt.
Dieses Ereignis ist nicht abbruchfähig und blubbert nicht.
Syntax
Verwenden Sie den Ereignisnamen in Methoden wie addEventListener()
oder setzen Sie eine Event-Handler-Eigenschaft.
addEventListener("datachannel", (event) => { })
ondatachannel = (event) => { }
Ereignistyp
Ein RTCDataChannelEvent
. Erbt von Event
.
Ereigniseigenschaften
Erbt zudem Eigenschaften von Event
.
channel
Schreibgeschützt-
Gibt den
RTCDataChannel
zurück, der mit dem Ereignis verknüpft ist.
Beispiele
Dieses Beispiel richtet eine Funktion ein, die datachannel
-Ereignisse behandelt, indem sie die Informationen sammelt, die benötigt werden, um mit dem neu hinzugefügten RTCDataChannel
zu kommunizieren, und indem sie Event-Handler für die Ereignisse hinzufügt, die auf diesem Kanal auftreten.
pc.addEventListener(
"datachannel",
(ev) => {
receiveChannel = ev.channel;
receiveChannel.onmessage = myHandleMessage;
receiveChannel.onopen = myHandleOpen;
receiveChannel.onclose = myHandleClose;
},
false,
);
receiveChannel
wird auf den Wert der channel
-Eigenschaft des Ereignisses gesetzt, die das RTCDataChannel
-Objekt angibt, das den Datenkanal darstellt, der den entfernten Peer mit dem lokalen verbindet.
Dieser gleiche Code kann auch stattdessen die ondatachannel
-Event-Handler-Eigenschaft der RTCPeerConnection
-Schnittstelle verwenden, wie folgt:
pc.ondatachannel = (ev) => {
receiveChannel = ev.channel;
receiveChannel.onmessage = myHandleMessage;
receiveChannel.onopen = myHandleOpen;
receiveChannel.onclose = myHandleClose;
};
Spezifikationen
Specification |
---|
WebRTC: Real-Time Communication in Browsers # dom-rtcpeerconnection-ondatachannel |