2 台不同的计算机、2 台 Chrome、2 个不同的网络。

我正在上述 2 个对等方之间进行 WebRTC 调用,并使用 getStats() 检查连接。问题是,在一个 Chrome 中,它在“连接”属性中显示“ turn ”,而在另一个 Chrome 中显示“ stun ”。

那可能吗?我以为你是通过一个或另一个连接的?

最佳答案

是的,有可能。

第一个浏览器将使用其 TURN 服务器检索到的 ICE Candidate。
第二个浏览器将使用 STUN 检索到的 ICE Candidate(例如公共(public) IP 地址)。

事实上,TURN 服务器不必将 WebRTC 流中继到远程 TURN 服务器。如果对等方能够在不使用其 TURN 的情况下联系远程 TURN 服务器,则将仅使用一台中继服务器进行通信。

但是,您可以在 web 应用程序的 "iceTransports": "relay" 配置中使用以下选项 RTCPeerConnection 来强制两个浏览器都使用 TURN 服务器。

关于google-chrome - WebRTC 连接 - 同时 STUN 和 TURN?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/34041823/

10-11 23:20