WebRTC连接 - STUN和TURN同时进行?

时间:2015-12-02 11:38:25

标签: google-chrome connection webrtc stun turn

2台不同的计算机,2台Chromes,2台不同的网络。

我正在上述2个对等体之间进行WebRTC调用,并使用 getStats()来检查连接。问题是在一个Chrome中显示" " in" connection"财产和另一个显示" 眩晕"。

这可能吗?我以为你要么通过一个或另一个连接?

2 个答案:

答案 0 :(得分:3)

是的,这是可能的。

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

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

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

答案 1 :(得分:0)

通常在两端选择的中继候选者是罕见的情况,对于中继情况,大多数时候你最终会在一端使用中继候选者而在另一端最终使用服务器反身/同行反身,尽管服务器反身/ peer-reflexive candidate选择结束时将自己标识为STUN或者是对等候选者,但它实际上是中继连接,最好的办法就是检测你的原始连接类型是检查你们两端的候选类型。