Ответ 1
-
Он может использовать любой из них. По умолчанию предпочтение отдано UDP, но в зависимости от брандмауэра (ов) между одноранговыми соединениями он может подключаться только к TCP. Вы можете использовать Wireshark для захвата пакетов и проверки использования TCP или UDP. В Chrome вы также можете просмотреть информацию о выбранном кандидате (
googActiveConnection
), перейдя вchrome://webrtc-internals
. -
"Режим надежности", вероятно, относится к режиму надежности DataChannel, который может быть настроен для работы в надежном или ненадежном режиме. DTLS ссылается на необязательный, но метод по умолчанию для обмена ключами шифрования (другой режим устаревания - SDES). Firefox поддерживает только DTLS, поэтому для взаимодействия браузера в данный момент вам необходимо включить его в Chrome.
-
RTCPeerConnection (media) будет использовать TCP или UDP, в то время как DataChannel использует SCTP. Реализация SCTP, используемая Firefox, реализована поверх UDP: https://code.google.com/p/sctp-refimpl/.
-
Возможно, отфильтровать кандидатов TCP или UDP ICE, прежде чем добавлять их с помощью
addIceCandidate
. Как правило, вы не должны пытаться принудительно использовать транспорт, поскольку WebRTC будет "делать правильные вещи". Браузер не ограничивает количество TCP-соединений, используемых WebRTC, без каких-либо ограничений на RTCPeerConnection или DataChannel (т.е. Если вы можете иметь 10 PeerConnections, каждый из них может использовать TCP без каких-либо проблем).