RTCPeerConnection: icecandidateerror Ereignis

Limited availability

This feature is not Baseline because it does not work in some of the most widely-used browsers.

Das WebRTC-API-Ereignis icecandidateerror wird an eine RTCPeerConnection gesendet, wenn ein Fehler bei der Durchführung von ICE-Verhandlungen über einen STUN- oder TURN-Server auftritt. Das Ereignisobjekt ist vom Typ RTCPeerConnectionIceErrorEvent und enthält Informationen, die den Fehler in gewissem Detail beschreiben.

Dieses Ereignis ist nicht abbruchfähig und blubbert nicht.

Syntax

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

js
addEventListener("icecandidateerror", (event) => { })

onicecandidateerror = (event) => { }

Ereignistyp

Ereigniseigenschaften

Die RTCPeerConnectionIceErrorEvent-Schnittstelle umfasst die auf der Event-Schnittstelle gefundenen Eigenschaften sowie die folgenden Eigenschaften:

address Schreibgeschützt

Ein String, der die lokale IP-Adresse angibt, die verwendet wird, um mit dem STUN- oder TURN-Server zu kommunizieren, der zur Aushandlung der Verbindung verwendet wird, oder null, wenn die lokale IP-Adresse noch nicht als Teil eines lokalen ICE-Kandidaten offengelegt wurde.

errorCode Schreibgeschützt

Ein ganzzahliger Wert ohne Vorzeichen, der den numerischen STUN-Fehlercode angibt, der vom STUN- oder TURN-Server zurückgegeben wird. Wenn kein Host-Kandidat den Server erreichen kann, wird diese Eigenschaft auf die Nummer 701 gesetzt, die außerhalb des Bereichs der gültigen STUN-Fehlercodes liegt. Der 701-Fehler wird nur einmal pro Server-URL und nur während der iceGatheringState gathering ausgelöst.

errorText Schreibgeschützt

Ein String, der den STUN-Begründungstext enthält, der vom STUN- oder TURN-Server zurückgegeben wird. Wenn die Kommunikation mit dem STUN- oder TURN-Server überhaupt nicht hergestellt werden konnte, ist dieser String ein browserspezifischer String, der den Fehler erklärt.

port Schreibgeschützt

Ein ganzzahliger Wert ohne Vorzeichen, der die Portnummer angibt, über die die Kommunikation mit dem STUN- oder TURN-Server stattfindet, wobei die in address angegebene IP-Adresse verwendet wird. null, wenn die Verbindung nicht hergestellt wurde (d.h. wenn address null ist).

url Schreibgeschützt

Ein String, der die URL des STUN- oder TURN-Servers angibt, bei dem der Fehler aufgetreten ist.

Beschreibung

Die Eigenschaft errorCode des Fehlerobjekts ist einer der numerischen STUN-Fehlercodes. Es gibt einen zusätzlichen, WebRTC-spezifischen Fehler, der außerhalb des gültigen Bereichs der STUN-Fehlercodes liegt: 701. Fehler 701 zeigt an, dass keiner der ICE-Kandidaten erfolgreich Kontakt mit dem STUN- oder TURN-Server aufnehmen konnte.

Der 701-Fehler wird nur einmal pro Server-URL aus der Liste der verfügbaren STUN- oder TURN-Server ausgelöst, die beim Erstellen der RTCPeerConnection bereitgestellt werden. Diese Fehler treten nur auf, wenn der ICE-Sammlungszustand der Verbindung gathering ist.

Beispiel

Das folgende Beispiel richtet einen Handler für icecandidateerrors ein, die auf der RTCPeerConnection pc auftreten. Dieser Handler sucht speziell nach 701-Fehlern, die darauf hinweisen, dass Kandidaten den STUN- oder TURN-Server nicht erreichen konnten.

Wenn dies geschieht, werden die Server-URL und die Fehlermeldung an eine Funktion namens reportConnectFail() übergeben, um den Verbindungsfehler zu protokollieren oder auszugeben.

js
pc.addEventListener("icecandidateerror", (event) => {
  if (event.errorCode === 701) {
    reportConnectFail(event.url, event.errorText);
  }
});

Beachten Sie, dass, wenn mehrere STUN- und/oder TURN-Server beim Erstellen der Verbindung bereitgestellt werden, dieser Fehler mehr als einmal auftreten kann, wenn mehr als einer dieser Server ausfällt. Jeder bereitgestellte Server wird ausprobiert, bis eine Verbindung hergestellt wird.

Spezifikationen

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

Browser-Kompatibilität