RTCIceCandidate: RTCIceCandidate() Konstruktor

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.

Der RTCIceCandidate() Konstruktor erstellt und gibt ein neues RTCIceCandidate-Objekt zurück, das konfiguriert werden kann, um einen einzelnen ICE-Kandidaten zu repräsentieren.

Syntax

js
new RTCIceCandidate()
new RTCIceCandidate(candidateInfo)

Parameter

candidateInfo Optional

Ein optionales Objekt, das bereitgestellt werden kann, um den Kandidaten zu konfigurieren. Das Objekt hat die folgenden Eigenschaften:

candidate Optional

Ein String, der die Eigenschaften des Kandidaten beschreibt, entnommen direkt aus dem SDP-Attribut "candidate". Der Kandidaten-String spezifiziert die Netzwerkverbindungsinformationen für den Kandidaten. Wenn der candidate ein leerer String ("") ist, wurde das Ende der Kandidatenliste erreicht; dieser Kandidat wird als "end-of-candidates"-Marker bezeichnet.

Die Syntax des Kandidaten-Strings ist in RFC 5245, Abschnitt 15.1 beschrieben. Für eine a-line (Attributzeile), die folgendermaßen aussieht:

a=candidate:4234997325 1 udp 2043278322 192.0.2.172 44323 typ host

wird der entsprechende Wert des candidate-Strings "candidate:4234997325 1 udp 2043278322 192.0.2.172 44323 typ host" sein.

Der user agent bevorzugt immer Kandidaten mit der höchsten priority, wenn alle anderen Bedingungen gleich sind. Im obigen Beispiel ist die Priorität 2043278322. Die Attribute sind alle durch ein einzelnes Leerzeichen getrennt und in einer bestimmten Reihenfolge angeordnet. Die vollständige Liste der Attribute für diesen Beispielkandidaten ist:

Zusätzliche Informationen finden sich in RTCIceCandidate.candidate.

Hinweis: Aus Kompatibilitätsgründen mit älteren Versionen der WebRTC-Spezifikation akzeptiert der Konstruktor auch diesen String direkt als Argument.

sdpMid Optional

Ein String, der das Identifikationskennzeichen des Mediastreams enthält, mit dem der Kandidat verknüpft ist, oder null, wenn kein Mediastream verknüpft ist. Der Standardwert ist null.

Zusätzliche Informationen finden sich in RTCIceCandidate.sdpMid.

sdpMLineIndex Optional

Eine numerische Eigenschaft, die den nullbasierten Index der m-line enthält, mit der der Kandidat verbunden ist, innerhalb des Medienbeschreibungs-SDP, oder null, wenn keine solche Verbindung besteht. Der Standardwert ist null.

Zusätzliche Informationen finden sich in RTCIceCandidate.sdpMLineIndex.

usernameFragment Optional

Ein String, der das Benutzername-Fragment enthält (in der Regel als "ufrag" oder "ice-ufrag" abgekürzt). Dieses Fragment, zusammen mit dem ICE-Passwort ("ice-pwd"), identifiziert eine einzelne laufende ICE-Interaktion eindeutig (einschließlich jeglicher Kommunikation mit dem STUN-Server).

Der String wird von WebRTC zu Beginn der Sitzung generiert. Er kann bis zu 256 Zeichen lang sein, und mindestens 24 Bits müssen zufällige Daten enthalten. Er hat keinen Standardwert und ist nicht vorhanden, es sei denn, er wird explizit gesetzt.

Zusätzliche Informationen finden sich in RTCIceCandidate.usernameFragment.

Rückgabewert

Ein neu erstelltes RTCIceCandidate-Objekt.

Wenn candidateInfo bereitgestellt wird, wird das neue RTCIceCandidate wie folgt initialisiert:

  • Jedes Mitglied des RTCIceCandidate-Objekts wird auf den Wert der Eigenschaft mit demselben Namen aus candidateInfo initialisiert. Dazu gehören die Eigenschaften candidate, sdpMid, sdpMLineIndex und usernameFragment.
  • Der candidate-String (welches SDP-Text ist) wird geparst; jedes gefundene Attribut wird im entsprechenden Feld des RTCIceCandidate gespeichert. Wenn eines der Felder ungültig ist, wird das Parsen des Strings ohne Auslösen einer Ausnahme stillschweigend abgebrochen. Der Standardwert des candidate ist der leere String, der anzeigt, dass der Kandidat eine "end-of-candidates"-Nachricht ist.
  • Die folgenden Felder werden auf null initialisiert, wenn sie nicht in der RTCIceCandidate.candidate-Eigenschaft enthalten sind: foundation, component, priority, address, protocol, port, type, tcpType, relatedAddress, und relatedPort.

Hinweis: Das Parsen des candidate-Strings erfolgt unter Verwendung der candidate-attribute grammar aus der WebRTC-Spezifikation.

Ausnahmen

TypeError

Ausgelöst, wenn das angegebene candidateInfo sowohl in den Eigenschaften sdpMid als auch sdpMLineIndex null-Werte hat.

Anwendungshinweise

Dieser Konstruktor führt keine vollständige Validierung des angegebenen candidateInfo-Objekts oder Strings durch.

Spezifikationen

Specification
WebRTC: Real-Time Communication in Browsers
# dom-rtcicecandidate-constructor

Browser-Kompatibilität

Siehe auch