【问题标题】:Force UDP for Webrtc peer connection强制 UDP 用于 Webrtc 对等连接
【发布时间】:2019-04-09 08:20:23
【问题描述】:

我在 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】:

    您可以只删除包含a=candidate TCP 行的行,然后再调用setLocalDecription 并发送给对等方。

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

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

    【讨论】:

    • 感谢您的回答,您的意思是删除包含TCP 的行,您只是打错了,不是吗?
    猜你喜欢
    • 2013-08-07
    • 2017-08-25
    • 1970-01-01
    • 2021-07-06
    • 1970-01-01
    • 2021-07-28
    • 2020-08-01
    • 2016-02-09
    • 1970-01-01
    相关资源
    最近更新 更多