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