RTCIceCandidate

Baseline Widely available *

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

* Some parts of this feature may have varying levels of support.

Das RTCIceCandidate Interface – Teil der WebRTC API – repräsentiert eine Interactive Connectivity Establishment (ICE) Konfiguration, die verwendet werden kann, um eine RTCPeerConnection zu etablieren.

Ein ICE-Kandidat beschreibt die Protokolle und das Routing, die für WebRTC erforderlich sind, um mit einem entfernten Gerät kommunizieren zu können. Beim Starten einer WebRTC-Peer-Verbindung wird typischerweise eine Reihe von Kandidaten von jeder Seite der Verbindung vorgeschlagen, 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.

Für Details darüber, wie der ICE-Prozess funktioniert, siehe 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 darzustellen, optional basierend auf einem Konfigurationsobjekt konfiguriert.

Hinweis: Aus Gründen der Abwärtskompatibilität akzeptiert der Konstruktor auch einen String als Eingabe, welcher 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 Konnektivitätsprüfungen verwendet werden kann. Das Format dieser Adresse ist ein candidate-attribute wie in RFC 5245 definiert. Dieser String ist leer (""), wenn das RTCIceCandidate ein Hinweis auf das "Ende der Kandidaten" ist.

component Schreibgeschützt

Ein String, der anzeigt, ob der Kandidat ein RTP- oder ein RTCP-Kandidat ist; sein Wert ist entweder rtp oder rtcp und leitet sich aus dem "component-id"-Feld in der candidate a-line-Zeichenfolge ab.

foundation Schreibgeschützt

Gibt einen String zurück, der eine eindeutige Kennung enthält, die für alle Kandidaten desselben Typs gleich ist, die gleiche Basis teilen (die Adresse, von der der ICE-Agent den Kandidaten gesandt hat) und vom selben STUN-Server stammen. Dies wird verwendet, um die ICE-Leistung zu optimieren, während 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 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, ist relatedAddress ein String, der die IP-Adresse dieses Host-Kandidaten enthält. Für Host-Kandidaten ist dieser Wert null.

relatedPort Schreibgeschützt

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

sdpMid Schreibgeschützt

Ein String, der das Media-Stream-Identifikationstag des Kandidaten spezifiziert, welches den Media-Stream innerhalb der Komponente eindeutig identifiziert, mit dem der Kandidat assoziiert ist, oder null, wenn keine solche Assoziation existiert.

sdpMLineIndex Schreibgeschützt

Wenn nicht null, gibt sdpMLineIndex die nullbasierte Indexnummer der Medienbeschreibung (wie in RFC 4566 definiert) im SDP an, mit der der Kandidat assoziiert 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 den Typ des Kandidaten angibt, als einer der auf RTCIceCandidate.type aufgeführten Strings.

usernameFragment Schreibgeschützt

Ein String, der ein zufällig generiertes Benutzername-Fragment ("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 Generationen des ICE-Prozesses zu verifizieren; jede Generation desselben ICE-Prozesses wird dasselbe usernameFragment verwenden, selbst bei ICE-Neustarts.

Instanzmethoden

toJSON()

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

Beispiele

Für Beispiele siehe den Artikel Signalisierung und Videoanrufe, der den gesamten Prozess demonstriert.

Spezifikationen

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

Browser-Kompatibilität