Spec-Zone.ru › Web APIs

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;
}

Спецификации

Спецификация
WebRTC: Связь в реальном времени в браузерах
# dom-rtcicecandidate-relatedaddress

Совместимость с браузерами

Рабочие столы Мобильные устройства
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

См. также

  • API WebRTC
  • Введение в протоколы WebRTC
  • Подключение WebRTC
  • Жизненный цикл сессии WebRTC
  • RTCIceCandidate.relatedPort
  • RTCIceCandidate.address и RTCIceCandidate.port

© 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

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API