webrtc - 当主机和 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)。
解决方案
在这里,我发现了我的错误,我只想在连接处于适合新连接的状态时发送候选人,并且忘记了该列表上的状态“检查”(新建、收集、检查)。
推荐阅读
- java - Kafka Join 2 Streams (Kafka 1.0.1)
- arrays - 用户 didDeselectRowAt 时删除数组元素?
- c# - JArray - 通过键名搜索对象
- arrays - 数组操作和索引
- r - R循环更改变量名称
- sql-server - MS Access 链接表到 SQL Server
- php - 电子邮件已经存在,codeigniter 中的 Jquery 验证器插件不起作用
- java - Java Spring MVC 映射问题
- angular - Angular 6:使用带有异步的日期格式管道
- flume-ng - 将水槽中的流量多路复用到多个通道中