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

View in English Always switch to English

RTCPeerConnection: connectionstatechange-Ereignis

Baseline 2023
Newly available

Since ⁨May 2023⁩, this feature works across the latest devices and browser versions. This feature might not work in older devices or browsers.

Das connectionstatechange-Ereignis wird an den onconnectionstatechange Ereignis-Handler eines RTCPeerConnection-Objekts gesendet, nachdem ein neuer Track zu einem RTCRtpReceiver, das Teil der Verbindung ist, hinzugefügt wurde. Der neue Verbindungsstatus kann in connectionState gefunden werden und ist einer der folgenden String-Werte: new, connecting, connected, disconnected, failed oder closed.

Dieses Ereignis ist nicht abbruchfähig und wird nicht hochgebubbelt.

Syntax

Verwenden Sie den Ereignisnamen in Methoden wie addEventListener() oder setzen Sie eine Ereignis-Handler-Eigenschaft.

js
addEventListener("connectionstatechange", (event) => { }) onconnectionstatechange = (event) => { } 

Ereignistyp

Ein generisches Event.

Beispiele

Für eine RTCPeerConnection, die peerConnection genannt wird, verwendet dieses Beispiel addEventListener(), um Änderungen der Konnektivität der WebRTC-Sitzung zu handhaben. Es ruft eine von der App definierte Funktion namens setOnlineStatus() auf, um eine Statusanzeige zu aktualisieren.

js
peerConnection.addEventListener("connectionstatechange", (event) => { switch (peerConnection.connectionState) { case "new": case "connecting": setOnlineStatus("Connecting…"); break; case "connected": setOnlineStatus("Online"); break; case "disconnected": setOnlineStatus("Disconnecting…"); break; case "closed": setOnlineStatus("Offline"); break; case "failed": setOnlineStatus("Error"); break; default: setOnlineStatus("Unknown"); break; } }); 

Sie können auch einen Handler für das connectionstatechange-Ereignis mit der Eigenschaft RTCPeerConnection.onconnectionstatechange erstellen:

js
peerConnection.onconnectionstatechange = (ev) => { switch (peerConnection.connectionState) { case "new": case "connecting": setOnlineStatus("Connecting…"); break; // … default: setOnlineStatus("Unknown"); break; } }; 

Spezifikationen

Specification
WebRTC: Real-Time Communication in Browsers
# dom-rtcpeerconnection-onconnectionstatechange

Browser-Kompatibilität

Siehe auch