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.
addEventListener("icecandidateerror", (event) => { })
onicecandidateerror = (event) => { }
Ereignistyp
Ein RTCPeerConnectionIceErrorEvent
. Erbt von Event
.
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. wennaddress
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 icecandidateerror
s 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.
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 |