Принудительно использовать UDP для соединения с узлом Webrtc

Я использую API webrtc RtcPeerConnection в Chrome.

Мое местное предложение SDP такое

a=candidate:0 1 UDP 2122252543 10.100.49.26 59882 typ host
a=candidate:1 1 TCP 2105524479 10.100.49.26 9 typ host tcptype active

Я думаю, что если UDP не работает, он будет пытаться TCP.

Но! Я не хочу, чтобы TCP и TCP-соединение могли вызывать исключения. Как я могу удалить строку TCP из моего локального предложения SDP?

1 ответ

Вы можете просто удалить строку, которая содержит a=candidate TCP линия, перед вызовом setLocalDecription и отправка сверстникам.

Тем не менее, Chrome по умолчанию поддерживает ICE Trickle для ускорения процесса установки соединения и не требует сбора всех кандидатов перед отправкой SDP. Таким образом, вы можете установить SDP сразу после генерации и легко отфильтровать нежелательных кандидатов перед отправкой их другому партнеру в onicecandidate Перезвоните.

rtcPeerConnection.onicecandidate = event => {
      if (event.candidate && event.candidate.protocol !== 'tcp') {
         // send to peer
      }
}
Другие вопросы по тегам