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
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 dercandidate
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ät2043278322
. 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:foundation
= 4234997325component
="rtp"
(die Zahl 1 wird in diesen String kodiert; 2 wird zu"rtcp"
)protocol
="udp"
priority
= 2043278322ip
="192.0.2.172"
port
= 44323type
="host"
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 istnull
.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 istnull
.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 auscandidateInfo
initialisiert. Dazu gehören die Eigenschaftencandidate
,sdpMid
,sdpMLineIndex
undusernameFragment
. - Der
candidate
-String (welches SDP-Text ist) wird geparst; jedes gefundene Attribut wird im entsprechenden Feld desRTCIceCandidate
gespeichert. Wenn eines der Felder ungültig ist, wird das Parsen des Strings ohne Auslösen einer Ausnahme stillschweigend abgebrochen. Der Standardwert descandidate
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 derRTCIceCandidate.candidate
-Eigenschaft enthalten sind:foundation
,component
,priority
,address
,protocol
,port
,type
,tcpType
,relatedAddress
, undrelatedPort
.
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 EigenschaftensdpMid
als auchsdpMLineIndex
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 |