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