强制UDP用于Webrtc对等连接

问题描述 投票:0回答:1

我在Chrome中使用webrtc RtcPeerConnection API。

我当地的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连接可能导致异常,如何从本地SDP提供中删除TCP线路?

javascript webrtc rtcdatachannel rtcpeerconnection
1个回答
0
投票

在调用a=candidate TCP并发送给对等方之前,您可以删除包含setLocalDecription行的行。

但是,默认情况下,chrome支持ICE涓流加速连接设置过程,并且不需要在发送SDP之前收集所有候选项。因此,您可以在生成后立即设置SDP,并在将不需要的候选者发送到onicecandidate回调中的其他对等方之前轻松过滤掉。

rtcPeerConnection.onicecandidate = event => {
      if (event.candidate && event.candidate.protocol !== 'tcp') {
         // send to peer
      }
}
© www.soinside.com 2019 - 2024. All rights reserved.