首页 > 解决方案 > 当主机和 srflx 候选者不工作且仅中继工作时,WebRTC iceTransportPolicy 'all' 不会形成连接

问题描述

当使用 WebRTC 将浏览器相互连接时,我设置了 iceTransportPolicy:'all',为我提供了来自 STUN/TURN 服务器的所有类型的候选者。

但是,在这些候选者正在接受连接测试的状态下似乎有些失败,因为如果两个候选者都在同一个 LAN 中,则连接形成正确,但我要么需要使用iceTransportPolicy:'relay'或不host/srflx向另一方发送类型的候选者,以获得连接TURN工作。目前在这种情况下,在我的代码中,我等待 ice 失败,然后在下一次连接尝试时,我首先将typ host候选人从被发送到另一方中,然后我停止将typ srflx候选人发送到另一方。当我只将typ relay候选人发送给对方时,连接成功。

我希望 ice 能够正常工作,即使在主机和 srflx 候选者无用的情况下也能够形成连接(通过 TURN)。

标签: webrtcturncandidate

解决方案


在这里,我发现了我的错误,我只想在连接处于适合新连接的状态时发送候选人,并且忘记了该列表上的状态“检查”(新建、收集、检查)。


推荐阅读