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 January 2020.

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, direkt entnommen aus dem SDP Attribut "candidate". Der Kandidatenstring gibt die Netzwerkverbindungsinformationen für den Kandidaten an. Wenn der candidate ein leerer String ("") ist, wurde das Ende der Kandidatenliste erreicht; dieser Kandidat ist als "end-of-candidates" Marker bekannt.

Die Syntax des Kandidatenstrings ist beschrieben in RFC 5245, Abschnitt 15.1. Für eine a-line (Attributzeile), die so aussieht:

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

wäre der entsprechende Wert des candidate Strings "candidate:4234997325 1 udp 2043278322 192.0.2.172 44323 typ host".

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

Zusätzliche Informationen finden Sie in RTCIceCandidate.candidate.

Hinweis: Für die Rückwärtskompatibilität mit älteren Versionen der WebRTC-Spezifikation akzeptiert der Konstruktor auch diesen String direkt als Argument.

sdpMid Optional

Ein String, der das Identifikations-Tag des Medienstreams enthält, mit dem der Kandidat in Beziehung steht, oder null, wenn kein zugehöriger Medienstream existiert. Der Standardwert ist null.

Zusätzliche Informationen finden Sie in RTCIceCandidate.sdpMid.

sdpMLineIndex Optional

Eine Zahlen-Eigenschaft, die den nullbasierten Index der m-line enthält, mit der der Kandidat in Beziehung steht, innerhalb des SDP der Medienbeschreibung, oder null, wenn keine derartige Assoziation existiert. Der Standardwert ist null.

Zusätzliche Informationen finden Sie in RTCIceCandidate.sdpMLineIndex.

usernameFragment Optional

Ein String, der das Benutzername-Fragment enthält (in der Regel in Kurzform als "ufrag" oder "ice-ufrag" bezeichnet). Dieses Fragment, zusammen mit dem ICE-Passwort ("ice-pwd"), identifiziert eindeutig eine einzelne laufende ICE-Interaktion (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 Sie 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. Dies schließt die Eigenschaften candidate, sdpMid, sdpMLineIndex, und usernameFragment ein.
  • Der candidate String (der SDP-Text ist) wird analysiert; jede gefundene Eigenschaft wird im entsprechenden Feld in der RTCIceCandidate gespeichert. Wenn eines der Felder ungültig ist, wird das Parsen des Strings stillschweigend ohne Ausnahme abgebrochen. Der Standardwert des candidate ist der leere String, was 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

Wird ausgelöst, wenn die angegebene candidateInfo sowohl in den Eigenschaften sdpMid als auch sdpMLineIndex den Wert null hat.

Hinweise zur Nutzung

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

BCD tables only load in the browser

Siehe auch