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
addressSchreibgeschützt-
Ein String, der die IP-Adresse des Kandidaten enthält.
candidateSchreibgeschü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-attributewie in RFC 5245 definiert. Dieser String ist leer (""), wenn dasRTCIceCandidateein Hinweis auf das "Ende der Kandidaten" ist. componentSchreibgeschützt-
Ein String, der anzeigt, ob der Kandidat ein RTP- oder ein RTCP-Kandidat ist; sein Wert ist entweder
rtpoderrtcpund leitet sich aus dem"component-id"-Feld in dercandidatea-line-Zeichenfolge ab. foundationSchreibgeschü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. portSchreibgeschützt-
Ein ganzzahliger Wert, der die Portnummer des Kandidaten angibt.
prioritySchreibgeschützt-
Ein langer ganzzahliger Wert, der die Priorität des Kandidaten angibt.
protocolSchreibgeschützt-
Ein String, der angibt, ob das Protokoll des Kandidaten
"tcp"oder"udp"ist. -
Wenn der Kandidat von einem anderen Kandidaten abgeleitet ist, ist
relatedAddressein 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
relatedPorteine Zahl, die die Portnummer des Kandidaten angibt, von dem dieser Kandidat abgeleitet ist. Für Host-Kandidaten ist dierelatedPort-Eigenschaftnull. sdpMidSchreibgeschü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. sdpMLineIndexSchreibgeschützt-
Wenn nicht
null, gibtsdpMLineIndexdie nullbasierte Indexnummer der Medienbeschreibung (wie in RFC 4566 definiert) im SDP an, mit der der Kandidat assoziiert ist. tcpTypeSchreibgeschützt-
Wenn
protocol"tcp"ist, repräsentierttcpTypedie Art des TCP-Kandidaten. Andernfalls isttcpTypenull. typeSchreibgeschützt-
Ein String, der den Typ des Kandidaten angibt, als einer der auf
RTCIceCandidate.typeaufgeführten Strings. usernameFragmentSchreibgeschü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
usernameFragmentverwenden, selbst bei ICE-Neustarts.
Instanzmethoden
toJSON()-
Gibt eine JSON-Repräsentation der aktuellen Konfiguration des
RTCIceCandidatezurü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> |
Browser-Kompatibilität
Loading…