我写了一个小的WebRTC演示,可以将视频文件流传输到另一个对等端,并且一切正常(它是一个真正的P2P连接,没有使用TURN服务器),除了这个问题:
一个客户端通过移动网络连接,另一个客户端通过wifi连接。当移动客户端创建提议并启动ICE候选者的来回交流时,他们会选择srflx候选者并创建真正的P2P连接。
但是当wifi客户端创建提议时,他们会退回到TURN服务器作为中继。
在Ubuntu上的Firefox和Chromium中出现此问题。
- 这种行为是否指向我的代码中明显的问题?
- 如果不是,这是怎么回事? ICE协议不应该产生相同的两个候选者吗,无论哪个客户端是控制器?