Dieser Inhalt wurde automatisch aus dem Englischen übersetzt, und kann Fehler enthalten. Erfahre mehr über dieses Experiment.
RTCIceCandidate: candidate-Eigenschaft
Baseline
Weitgehend verfügbar
Diese Funktion ist gut etabliert und funktioniert auf vielen Geräten und in vielen Browserversionen. Sie ist seit September 2017 browserübergreifend verfügbar.
Die schreibgeschützte Eigenschaft candidate der RTCIceCandidate-Schnittstelle gibt einen String zurück, der den Kandidaten im Detail beschreibt. Die meisten anderen Eigenschaften von RTCIceCandidate werden tatsächlich aus diesem String extrahiert.
Diese Eigenschaft kann über die candidate-Eigenschaft des Objekts konfiguriert werden, das in den RTCIceCandidate()-Konstruktor oder RTCPeerConnection.addIceCandidate() übergeben wird.
Wert
Ein String, der die Eigenschaften des Kandidaten beschreibt und direkt aus dem SDP-Attribut "candidate" entnommen wird. Der Kandidaten-String spezifiziert die Netzwerkverbindungsinformationen für den Kandidaten. Wenn der candidate ein leerer String ("") ist, wurde das Ende der Kandidatenliste erreicht; dieser Kandidat wird als "end-of-candidates"-Marker bezeichnet.
Die Syntax des Kandidaten-Strings wird in RFC 5245, Abschnitt 15.1 beschrieben. Für eine a-Line (Attributzeile), die so aussieht:
a=candidate:4234997325 1 udp 2043278322 192.0.2.172 44323 typ host
wird der entsprechende Wert des candidate-Strings sein: "candidate:4234997325 1 udp 2043278322 192.0.2.172 44323 typ host".
Der User Agent bevorzugt immer Kandidaten mit der höchsten
priority, wenn ansonsten gleiche Bedingungen herrschen.
Im obigen Beispiel beträgt die Priorität 2043278322. Die Attribute sind alle durch ein einzelnes Leerzeichen getrennt und in einer bestimmten Reihenfolge. Die vollständige Liste der Attribute für diesen Beispielkandidaten ist:
Beispiele
In diesem Beispiel sehen wir eine Funktion, die als Eingabe einen SDP-String enthält, der einen ICE-Kandidaten vom entfernten Gegenüber während des Signalisierungsvorgangs enthält.
function handleNewIceCandidate(candidateSDP) {
const candidateObj = new RTCIceCandidate(candidateSDP);
myPeerConnection
.addIceCandidate(candidateObj)
.catch({/* handle the error thrown by addIceCandidate() */});
}
Die hier gezeigte Funktion handleNewIceCandidate() übergibt den empfangenen
SDP-Text des Kandidaten an RTCIceCandidate(), um ein RTCIceCandidate-Objekt zu erhalten,
das den Kandidaten repräsentiert.
Der neue Kandidat wird dann an RTCPeerConnection.addIceCandidate() übergeben, um den Kandidaten zur Liste der
Kandidaten hinzuzufügen, die WebRTC für die herzustellende Verbindung in Betracht zieht.
Spezifikationen
| Spezifikation |
|---|
| WebRTC: Real-Time Communication in Browsers> # dom-rtcicecandidate-candidate> |
Browser-Kompatibilität
JavaScript aktivieren, um diese Browser-Kompatibilitätstabelle anzuzeigen.