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
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 dercandidate
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ät2043278322
. 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:foundation
= 4234997325component
="rtp"
(die Zahl 1 wird zu diesem String kodiert; 2 wird zu"rtcp"
)protocol
="udp"
priority
= 2043278322ip
="192.0.2.172"
port
= 44323type
="host"
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 istnull
.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 istnull
.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 auscandidateInfo
initialisiert. Dies schließt die Eigenschaftencandidate
,sdpMid
,sdpMLineIndex
, undusernameFragment
ein. -
Der
candidate
String (der SDP-Text ist) wird analysiert; jede gefundene Eigenschaft wird im entsprechenden Feld in derRTCIceCandidate
gespeichert. Wenn eines der Felder ungültig ist, wird das Parsen des Strings stillschweigend ohne Ausnahme abgebrochen. Der Standardwert descandidate
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 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
-
Wird ausgelöst, wenn die angegebene
candidateInfo
sowohl in den EigenschaftensdpMid
als auchsdpMLineIndex
den Wertnull
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