Dieser Inhalt wurde automatisch aus dem Englischen übersetzt, und kann Fehler enthalten. Erfahre mehr über dieses Experiment.

View in English Always switch to English

RTCIceCandidate

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.

* Einige Teile dieser Funktion werden möglicherweise unterschiedlich gut unterstützt.

Die Schnittstelle RTCIceCandidate ist Teil der WebRTC API und repräsentiert eine mögliche Konfiguration für Interactive Connectivity Establishment (ICE), die zum Aufbau einer RTCPeerConnection verwendet werden kann.

Ein ICE-Kandidat beschreibt die Protokolle und Routing-Informationen, die WebRTC für die Kommunikation mit einem entfernten Gerät benötigt. Beim Aufbau einer WebRTC-Peer-Verbindung schlagen beide Seiten üblicherweise mehrere Kandidaten vor, bis sie sich auf den Kandidaten einigen, der die aus ihrer Sicht beste Verbindung beschreibt. WebRTC verwendet anschließend dessen Angaben, um die Verbindung aufzubauen.

Weitere Informationen zum Ablauf des ICE-Prozesses finden Sie unter Lebensdauer einer WebRTC-Sitzung. Der Artikel WebRTC-Konnektivität enthält weitere nützliche Einzelheiten.

Konstruktor

RTCIceCandidate()

Erstellt ein RTCIceCandidate-Objekt, das einen einzelnen ICE-Kandidaten repräsentiert und optional anhand eines Konfigurationsobjekts konfiguriert wird.

Hinweis: Aus Gründen der Abwärtskompatibilität akzeptiert der Konstruktor statt eines Konfigurationsobjekts auch einen String mit dem Wert der Eigenschaft candidate.

Instanzeigenschaften

address Schreibgeschützt

Ein String mit der IP-Adresse des Kandidaten.

candidate Schreibgeschützt

Ein String, der die Transportadresse des Kandidaten repräsentiert, die für Konnektivitätsprüfungen verwendet werden kann. Das Format dieser Adresse ist ein candidate-attribute gemäß RFC 5245. Bei einem RTCIceCandidate, der das Ende der Kandidatenliste anzeigt, ist dieser String leer ("").

component Schreibgeschützt

Ein String, der angibt, ob es sich um einen RTP- oder RTCP-Kandidaten handelt. Sein Wert ist entweder rtp oder rtcp und wird aus dem Feld "component-id" im candidate-a-line-String abgeleitet.

foundation Schreibgeschützt

Gibt einen String mit einem eindeutigen Bezeichner zurück. Er ist für Kandidaten gleich, die denselben Typ und dieselbe Basis (die Adresse, von der aus der ICE-Agent den Kandidaten gesendet hat) haben und vom selben STUN-Server stammen. Dies hilft, die ICE-Leistung zu optimieren, wenn Kandidaten priorisiert und einander zugeordnet werden, die auf mehreren RTCIceTransport-Objekten erscheinen.

port Schreibgeschützt

Ein ganzzahliger Wert, der die Portnummer des Kandidaten angibt.

priority Schreibgeschützt

Ein langer ganzzahliger Wert, 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, enthält relatedAddress als String die IP-Adresse dieses Host-Kandidaten. Bei Host-Kandidaten ist dieser Wert null.

relatedPort Schreibgeschützt

Bei einem Kandidaten, der von einem anderen abgeleitet ist, beispielsweise einem Relay- oder reflexiven Kandidaten, gibt relatedPort als Zahl die Portnummer des Kandidaten an, von dem er abgeleitet wurde. Bei Host-Kandidaten ist die Eigenschaft relatedPort gleich null.

sdpMid Schreibgeschützt

Ein String mit der Medienstream-Kennung des Kandidaten, die den Medienstream innerhalb der Komponente, der der Kandidat zugeordnet ist, eindeutig identifiziert. Besteht keine solche Zuordnung, ist der Wert null.

sdpMLineIndex Schreibgeschützt

Falls der Wert nicht null ist, gibt sdpMLineIndex den nullbasierten Index der Medienbeschreibung (gemäß RFC 4566) im SDP an, der der Kandidat zugeordnet ist.

tcpType Schreibgeschützt

Wenn protocol den Wert "tcp" hat, gibt tcpType den Typ des TCP-Kandidaten an. Andernfalls ist tcpType gleich null.

type Schreibgeschützt

Ein String, der den Typ des Kandidaten angibt. Der Wert ist einer der unter RTCIceCandidate.type aufgeführten Strings.

usernameFragment Schreibgeschützt

Ein String mit einem zufällig erzeugten Benutzernamenfragment („ice-ufrag“), das ICE zusammen mit einem zufällig erzeugten Passwort („ice-pwd“) zur Sicherstellung der Nachrichtenintegrität verwendet. Mithilfe dieses Strings können Sie ICE-Generationen überprüfen: Jede Generation desselben ICE-Prozesses verwendet dasselbe usernameFragment, auch nach einem ICE-Neustart.

Instanzmethoden

toJSON()

Gibt ein JSON-serialisierbares einfaches Objekt zurück, das das RTCIceCandidate-Objekt repräsentiert. Wird automatisch von JSON.stringify() aufgerufen.

Beispiele

Beispiele finden Sie im Artikel Signalisierung und Videoanrufe, der den gesamten Ablauf veranschaulicht.

Spezifikationen

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

Browser-Kompatibilität