RTCIceCandidate

Baseline Widely available

This feature is well established and works across many devices and browser versions. It’s been available across browsers since January 2020.

Die Schnittstelle RTCIceCandidate—Teil der WebRTC-API—repräsentiert eine Kandidatenkonfiguration für die interaktive Verbindungsherstellung (ICE), die verwendet werden kann, um eine RTCPeerConnection zu etablieren.

Ein ICE-Kandidat beschreibt die Protokolle und Routen, die WebRTC benötigt, um mit einem entfernten Gerät zu kommunizieren. Beim Start einer WebRTC-Verbindung schlagen normalerweise beide Enden der Verbindung eine Reihe von Kandidaten vor, bis sie sich gegenseitig auf einen einigen, der die Verbindung beschreibt, die sie für die beste halten. WebRTC verwendet dann die Details dieses Kandidaten, um die Verbindung zu initiieren.

Einzelheiten darüber, wie der ICE-Prozess funktioniert, finden Sie unter Lebensdauer einer WebRTC-Sitzung. Der Artikel WebRTC-Konnektivität bietet zusätzliche nützliche Details.

Konstruktor

RTCIceCandidate()

Erstellt ein RTCIceCandidate-Objekt, um einen einzelnen ICE-Kandidaten zu repräsentieren, der optional basierend auf einem Konfigurationsobjekt konfiguriert wird.

Hinweis: Aus Gründen der Abwärtskompatibilität akzeptiert der Konstruktor auch als Eingabe einen String, der den Wert der candidate-Eigenschaft anstelle des Konfigurationsobjekts enthält.

Instanz-Eigenschaften

address Schreibgeschützt

Ein String, der die IP-Adresse des Kandidaten enthält.

candidate Schreibgeschützt

Ein String, der die Transportadresse für den Kandidaten darstellt, die für Verbindungstests verwendet werden kann. Das Format dieser Adresse ist ein candidate-attribute, wie in RFC 5245 definiert. Dieser String ist leer (""), wenn das RTCIceCandidate ein "Ende der Kandidaten"-Indikator ist.

component Schreibgeschützt

Ein String, der angibt, ob der Kandidat ein RTP- oder RTCP-Kandidat ist; sein Wert ist entweder rtp oder rtcp und wird aus dem "component-id"-Feld im candidate a-line String abgeleitet.

foundation Schreibgeschützt

Gibt einen String zurück, der eine eindeutige Kennung enthält, die für alle Kandidaten des gleichen Typs dieselbe ist, denselben Ursprung (die Adresse, von der der ICE-Agent den Kandidaten gesendet hat) teilt und vom selben STUN-Server stammt. Dies dient dazu, die ICE-Leistung zu optimieren, indem Kandidaten priorisiert und korreliert werden, die auf mehreren RTCIceTransport-Objekten erscheinen.

port Schreibgeschützt

Ein ganzzahliger Wert, der die Portnummer des Kandidaten angibt.

priority Schreibgeschützt

Ein ganzzahliger Langwert, der die Priorität des Kandidaten angibt.

protocol Schreibgeschützt

Ein String, der angibt, ob das Protokoll des Kandidaten "tcp" oder "udp" ist.

relatedAddress Schreibgeschützt

Wenn der Kandidat von einem anderen Kandidaten abgeleitet ist, ist relatedAddress ein String, der die IP-Adresse des Hostkandidaten enthält. Für Hostkandidaten ist dieser Wert null.

relatedPort Schreibgeschützt

Für einen Kandidaten, der von einem anderen wie einem Relay- oder Reflexiv-Kandidaten abgeleitet ist, ist relatedPort eine Zahl, die die Portnummer des Kandidaten angibt, von dem dieser Kandidat abgeleitet ist. Für Hostkandidaten ist die Eigenschaft relatedPort null.

sdpMid Schreibgeschützt

Ein String, der die Medienstrom-Identifikationsmarkierung des Kandidaten angibt, die den Medienstrom innerhalb der Komponente, mit der der Kandidat verknüpft ist, eindeutig identifiziert, oder null, wenn keine solche Verknüpfung besteht.

sdpMLineIndex Schreibgeschützt

Ist er nicht null, gibt sdpMLineIndex den nullbasierten Index der Medienbeschreibung (wie in RFC 4566 definiert) im SDP an, mit dem der Kandidat verknüpft ist.

tcpType Schreibgeschützt

Wenn protocol "tcp" ist, repräsentiert tcpType die Art des TCP-Kandidaten. Andernfalls ist tcpType null.

type Schreibgeschützt

Ein String, der die Art des Kandidaten als einen der auf RTCIceCandidate.type aufgeführten Strings angibt.

usernameFragment Schreibgeschützt

Ein String, der ein zufällig generiertes Benutzernamefragment ("ice-ufrag") enthält, das ICE zusammen mit einem zufällig generierten Passwort ("ice-pwd") für die Nachrichtenintegrität verwendet. Sie können diesen String verwenden, um ICE-Generationen zu überprüfen; jede Generation desselben ICE-Prozesses verwendet dasselbe usernameFragment, auch über ICE-Neustarts hinweg.

Instanz-Methoden

toJSON()

Gibt eine JSON-Darstellung der aktuellen Konfiguration des RTCIceCandidate zurück. Das Format der Darstellung ist dasselbe wie das candidateInfo-Objekt, das optional an den RTCIceCandidate()-Konstruktor übergeben werden kann, um einen Kandidaten zu konfigurieren.

Beispiele

Beispiele finden Sie im Artikel Signalisierung und Videoanrufe, der den gesamten Prozess demonstriert.

Spezifikationen

Specification
WebRTC: Real-Time Communication in Browsers
# rtcicecandidate-interface

Browser-Kompatibilität

BCD tables only load in the browser