Принудительно использовать UDP для соединения с узлом Webrtc - PullRequest
0 голосов
/ 09 апреля 2019

Я использую webrtc RtcPeerConnection API в 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 Ответ

0 голосов
/ 17 апреля 2019

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

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

rtcPeerConnection.onicecandidate = event => {
      if (event.candidate && event.candidate.protocol !== 'tcp') {
         // send to peer
      }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...