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