强制 UDP 用于 Webrtc 对等连接



我在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 线路?

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

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

rtcPeerConnection.onicecandidate = event => {
      if (event.candidate && event.candidate.protocol !== 'tcp') {
         // send to peer
      }
}

相关内容

  • 没有找到相关文章