0

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

4

1 回答 1

1

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

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

rtcPeerConnection.onicecandidate = event => {
      if (event.candidate && event.candidate.protocol !== 'tcp') {
         // send to peer
      }
}
于 2019-04-17T14:58:03.070 回答