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 dasRTCIceCandidate
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
oderrtcp
und wird aus dem"component-id"
-Feld imcandidate
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. -
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 Wertnull
. -
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 EigenschaftrelatedPort
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
, gibtsdpMLineIndex
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äsentierttcpType
die Art des TCP-Kandidaten. Andernfalls isttcpType
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 dascandidateInfo
-Objekt, das optional an denRTCIceCandidate()
-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