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
addressSchreibgeschützt-
Ein String mit der IP-Adresse des Kandidaten.
candidateSchreibgeschü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-attributegemäß RFC 5245. Bei einemRTCIceCandidate, der das Ende der Kandidatenliste anzeigt, ist dieser String leer (""). componentSchreibgeschützt-
Ein String, der angibt, ob es sich um einen RTP- oder RTCP-Kandidaten handelt. Sein Wert ist entweder
rtpoderrtcpund wird aus dem Feld"component-id"imcandidate-a-line-String abgeleitet. foundationSchreibgeschü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. 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, enthält
relatedAddressals String die IP-Adresse dieses Host-Kandidaten. Bei Host-Kandidaten ist dieser Wertnull. -
Bei einem Kandidaten, der von einem anderen abgeleitet ist, beispielsweise einem Relay- oder reflexiven Kandidaten, gibt
relatedPortals Zahl die Portnummer des Kandidaten an, von dem er abgeleitet wurde. Bei Host-Kandidaten ist die EigenschaftrelatedPortgleichnull. sdpMidSchreibgeschü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. sdpMLineIndexSchreibgeschützt-
Falls der Wert nicht
nullist, gibtsdpMLineIndexden nullbasierten Index der Medienbeschreibung (gemäß RFC 4566) im SDP an, der der Kandidat zugeordnet ist. tcpTypeSchreibgeschützt-
Wenn
protocolden Wert"tcp"hat, gibttcpTypeden Typ des TCP-Kandidaten an. Andernfalls isttcpTypegleichnull. typeSchreibgeschützt-
Ein String, der den Typ des Kandidaten angibt. Der Wert ist einer der unter
RTCIceCandidate.typeaufgeführten Strings. usernameFragmentSchreibgeschü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 vonJSON.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> |