Spec-Zone.ru › Web APIs

RTCIceCandidate: свойство relatedPort

Чтение только свойство RTCIceCandidate интерфейса relatedPort показывает номер порта рефлексивных или реле-кандидатов.

Если кандидат является кандидатом хоста (то есть его address фактически является реальным IP-адресом удаленного участника), relatedPort равно null.

Значение поля relatedPort устанавливается из объекта candidateInfo options, переданного в конструктор RTCIceCandidate(). Вы не можете указать значение relatedPort напрямую в объекте options, но его значение автоматически извлекается из строки объекта candidate a-строки, если она отформатирована должным образом (поле rel-port).

Связанный адрес (relatedAddress) и порт вообще не используются самим ICE; они предоставляются только для анализа и диагностики, и их включение может быть заблокировано системами безопасности, поэтому не полагайтесь на то, что они будут иметь значения, отличные от null.

Значение

Беззнаковое 16-битное значение, содержащее номер порта кандидата, если таковой имеется. Для рефлексивных кандидатов как со стороны клиента, так и со стороны сервера связанный адрес и порт описывают базу для этого кандидата. Для реле-кандидатов связанный адрес и порт предоставляют отображённый адрес, выбранный сервером TURN.

Для кандидатов хоста relatedPort равно null, что означает, что поле не включено в a-строку кандидата.

Примечания по использованию

Связанный адрес и порт не используются самим ICE и присутствуют только для целей диагностики и качества обслуживания. Они могут быть фактически опущены по соображениям безопасности, но если они присутствуют, могут быть полезным инструментом при отладке. См. пример Пример.

Вот строка атрибута SDP (a-строка), описывающая кандидата ICE, обнаруженного сервером STUN:

a=candidate:4234997325 1 udp 2043278322 192.0.2.172 6502 typ srflx raddr 198.51.100.45 rport 32768 generation 0

Удаленный порт, relatedPort, — это число, непосредственно следующее за меткой "rport" в a-строке, или 32768.

Примеры

В этом примере проверяется type кандидата, а затем выводятся отладочные данные на основе типа кандидата, включая тип кандидата, адрес (ip и port), и связанный адрес (relatedAddress и relatedPort).

const ip = candidate.address;
const port = candidate.port;
const relIP = candidate.relatedAddress;
const relPort = candidate.relatedPort;

if (relIP && relPort) {
  console.log(
    `Candidate type '${type}' — contact address: ${ip} ${port}, related address: ${relIP} ${relPort}`,
  );
} else {
  console.log(`Host candidate address is ${ip} ${port}`);
}

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

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

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

Рабочие столы Мобильные устройства
Chrome Edge Firefox Opera Safari Chrome Android Firefox для Android Opera Android Safari на iOS Samsung Internet WebView Android
relatedPort 74 79 126 62 14.1 74 126 53 14.5 11.0 74

См. также

  • API WebRTC
  • Введение в протоколы WebRTC
  • Подключение WebRTC
  • Срок действия сеанса WebRTC
  • RTCIceCandidate.relatedAddress
  • 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/relatedPort

Spec-Zone.ru

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