Принудительно использовать 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
}
}