问题标签 [ice-protocol]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
javascript - 为什么 WebRTC 有时会使用 TURN?
我编写了一个小型 WebRTC 演示,它将视频文件流式传输到另一个对等点,并且一切正常(这是一个真正的 P2P 连接,不使用 TURN 服务器),除了这个:
一个客户端通过移动网络连接,一个通过 wifi 连接。当移动客户端创建报价并来回启动 ICE 候选人时,他们会选择 srflx 候选人并创建真正的 P2P 连接。
但是当 wifi-client 创建 offer 时,它们会退回到 TURN 服务器作为中继。
这发生在 Ubuntu 上的 Firefox 和 Chromium 中。
- 这种行为是否指向我的代码中的一个明显问题?
- 如果不是,这怎么可能?无论哪个客户端是控制器,ICE 协议不应该产生相同的两个候选者吗?