RTCIceCandidate: relatedAddress-Eigenschaft
Die schreibgeschützte relatedAddress
-Eigenschaft des RTCIceCandidate
-Interfaces ist ein String, der die zugehörige Adresse eines Relay- oder reflexiven Kandidaten angibt.
Wenn der Kandidat ein Host-Kandidat ist (d. h., seine address
ist tatsächlich die echte IP-Adresse des entfernten Peers), ist relatedAddress
null
.
Der Wert des Feldes relatedAddress
wird aus dem candidateInfo
-Optionsobjekt festgelegt, das an den RTCIceCandidate()
-Konstruktor übergeben wird. Sie können den Wert von relatedAddress
nicht direkt im Optionsobjekt angeben, aber sein Wert wird automatisch aus der candidate
a-line des Objekts extrahiert, wenn sie korrekt formatiert ist (das rel-address
-Feld).
Die zugehörige Adresse und der Port (relatedPort
) werden von ICE selbst überhaupt nicht verwendet; sie werden nur zu Analyse- und Diagnosezwecken bereitgestellt, und ihre Einbeziehung kann durch Sicherheitssysteme blockiert werden, daher sollten Sie nicht darauf vertrauen, dass sie nicht-null
-Werte haben.
Wert
Ein String, der die zugehörige Adresse des Kandidaten enthält. Für sowohl Peer- als auch Server-reflexive Kandidaten sind die zugehörige Adresse (und der zugehörige Port) die Basis für diesen Server- oder Peer-reflexiven Kandidaten. Bei Relay-Kandidaten werden die zugehörige Adresse und der Port auf die vom TURN-Server ausgewählte abgebildete Adresse gesetzt.
Für Host-Kandidaten ist relatedAddress
null
, was bedeutet, dass das Feld nicht in der a-line des Kandidaten enthalten ist.
Verwendungshinweise
Die zugehörige Adresse ist in ICE-Kandidaten enthalten, obwohl sie von ICE selbst nicht verwendet wird.
relatedAddress
kann für Diagnosezwecke verwendet werden; indem die Beziehungen zwischen den verschiedenen Arten von Kandidaten und ihren Adressen und zugehörigen Adressen beobachtet werden.
relatedAddress
kann auch von Quality-of-Service (QoS)-Mechanismen verwendet werden.
Hier ist eine SDP-Attributzeile (a-line), die einen vom STUN-Server entdeckten ICE-Kandidaten beschreibt:
a=candidate:4234997325 1 udp 2043278322 192.0.2.172 6502 typ srflx raddr 198.51.100.45 rport 32768 generation 0
Die entfernte Adresse, relatedAddress
, ist die gepunktete Quad (für IPv4) oder durch Doppelpunkte abgegrenzte 64-Bit-Adresse (für IPv6) unmittelbar nach dem Text "raddr"
oder "198.51.100.45"
.
Beispiele
In diesem Beispiel wird der type
des Kandidaten überprüft und basierend auf dem Kandidatentyp Debug-Ausgaben einschließlich der ip
und relatedAddress
des Kandidaten bereitgestellt.
switch (candidate.type) {
case "host":
console.log(`Host candidate's IP address is ${candidate.address}`);
break;
case "srflx":
console.log(
`Server reflexive candidate's base address is ${candidate.relatedAddress}; reachable at ${candidate.address}`,
);
break;
case "prflx":
console.log(
`Peer reflexive candidate's base address is ${candidate.relatedAddress}; reachable at ${candidate.address}`,
);
break;
case "relay":
console.log(
`Relay candidate's address assigned by the TURN server is ${candidate.relatedAddress}; reachable at ${candidate.address}`,
);
break;
}
Spezifikationen
Specification |
---|
WebRTC: Real-Time Communication in Browsers # dom-rtcicecandidate-relatedaddress |
Browser-Kompatibilität
BCD tables only load in the browser