RTCIceCandidate: свойство relatedAddress
Чтение только для свойство интерфейса RTCIceCandidate — строка, указывающая адрес реле или рефлексивного кандидата.
Если кандидат является кандидатом хоста (то есть его address фактически является реальным IP-адресом удалённого узла), то relatedAddress является null.
Значение поля relatedAddress устанавливается из объекта candidateInfo options, переданного конструктору RTCIceCandidate(). Вы не можете указать значение relatedAddress напрямую в объекте options, но его значение автоматически извлекается из строки объекта candidate a-line, если она отформатирована должным образом (поле rel-address).
Адрес и порт реле (relatedPort) вообще не используются самим протоколом ICE; они предоставляются только для анализа и диагностики, и их включение может быть заблокировано системами безопасности, поэтому не полагайтесь на то, что они будут иметь значения, отличные от null.
Значение
Строка, содержащая адрес реле кандидата. Для кандидатов как узла, так и сервера рефлексивные адреса (и соответствующие порты) являются базой для соответствующего кандидата сервера или узла. Для кандидатов реле адрес реле и порт устанавливаются в адрес, отображённый сервером TURN.
Для кандидатов хоста relatedAddress является null, то есть поле не включено в строку кандидата a-line.
Примечания по использованию
Адрес реле включён в кандидатов ICE, несмотря на то, что сам ICE его не использует. relatedAddress может использоваться для диагностики; наблюдая за взаимосвязями между различными типами кандидатов и их адресами и адресами реле. relatedAddress также может использоваться механизмами качества обслуживания (QoS).
Вот строка атрибута SDP (a-line), описывающая кандидата ICE, обнаруженного сервером STUN:
a=candidate:4234997325 1 udp 2043278322 192.0.2.172 6502 typ srflx raddr 198.51.100.45 rport 32768 generation 0
Удалённый адрес, relatedAddress, — это адрес в формате точки с запятой (для IPv4) или двоеточие-разделенный 64-битный адрес (для IPv6), непосредственно следующий за текстом "raddr", или "198.51.100.45".
Примеры
В этом примере проверяется type кандидата, а затем выводится отладочная информация, основанная на типе кандидата, включая ip кандидата и relatedAddress.
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;
}
Спецификации
Совместимость с браузерами
| Рабочие столы | Мобильные устройства | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Opera | Safari | Chrome Android | Firefox для Android | Opera Android | Safari на iOS | Samsung Internet | WebView Android | |
relatedAddress |
74 | 79 | 126 | 62 | 14.1 | 74 | 126 | 53 | 14.5 | 11.0 | 74 |
См. также
© 2005–2024 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/API/RTCIceCandidate/relatedAddress