我在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线路?
在调用a=candidate TCP
并发送给对等方之前,您可以删除包含setLocalDecription
行的行。
但是,默认情况下,chrome支持ICE涓流加速连接设置过程,并且不需要在发送SDP之前收集所有候选项。因此,您可以在生成后立即设置SDP,并在将不需要的候选者发送到onicecandidate
回调中的其他对等方之前轻松过滤掉。
rtcPeerConnection.onicecandidate = event => {
if (event.candidate && event.candidate.protocol !== 'tcp') {
// send to peer
}
}