RTCIceCandidate: свойство protocol
У RTCIceCandidate интерфейса, свойство только для чтения protocol — это строка, указывающая, использует ли кандидат UDP или TCP в качестве транспортного протокола.
Значение поля protocol устанавливается из объекта candidateInfo options, переданного конструктору RTCIceCandidate(). Вы не можете указать значение protocol напрямую в объекте options, но его значение автоматически извлекается из поля candidate a-строки, если оно отформатировано должным образом.
protocol по умолчанию null, если это не указано должным образом в SDP, но это условие ошибки, и при вызове RTCPeerConnection.addIceCandidate() будет выброшено исключение.
Значение
Строка, указывающая, какой сетевой протокол использует кандидат:
tcp-
Если кандидат выбран, он будет использовать TCP в качестве транспортного протокола для своих данных. Свойство
tcpTypeпредоставляет дополнительную информацию о типе TCP-кандидата, представленного объектом. udp-
Кандидат будет использовать транспортный протокол UDP для своих данных. Это предпочтительный протокол для взаимодействия с медиа из-за его лучшей производительности.
Примечание: Если protocol null — и protocol поддерживается браузером — передача кандидата в addIceCandidate() завершится неудачей, вызвав исключение OperationError.
Примечания по использованию
Вот пример a-строки кандидата из ICE-транзакции:
a=candidate:4234997325 1 udp 2043278322 192.0.2.172 44323 typ host
Третье поле, "udp", — тип протокола, указывающий, что кандидат будет использовать транспортный протокол UDP.
Примеры
Этот фрагмент кода проверяет значение protocol , чтобы определить, нужно ли обращаться к значению tcpType для проверки, является ли это кандидатом одновременного открытия (S-O).
if (candidate.protocol === "tcp") {
if (candidate.tcpType === "so") {
adjustForSimultaneousOpen(candidate);
}
}
Спецификации
Совместимость с браузерами
| Рабочие столы | Мобильные устройства | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Opera | Safari | Chrome Android | Firefox for Android | Opera Android | Safari на IOS | Samsung Internet | WebView Android | |
protocol |
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/protocol