在WebRTC中,当一个用户需要TURN,而另一个用户不需要时,他们之间的流量都会通过TURN服务器吗



WebRTC在以下两个用户之间建立对等连接时的行为是什么?

  • 用户A的网络涉及NAT/路由器,因此无法直接连接到它,并且需要TURN中继
  • 用户B的网络可以支持直接连接

我假设从用户B到用户A的流量必须通过TURN服务器。但是,从用户A到用户B的流量是否也必须通过TURN?

换句话说,当两个用户中的一个由于网络限制而需要TURN时,无论另一个用户是否支持直接连接,他们之间的所有流量都会通过TURN服务器吗?

ICE协议将尝试在任一方向上进行直接连接:如果一个对等点可以从另一个对等端直接访问,则流量将在两个方向上采用直接路由。只有当两个对等点都不能到达另一个对等点时,才会使用TURN。

然而,请注意,ICE可能在建立直接连接之前超时,因此即使对等端是可访问的,数据也可能偶尔通过TURN服务器。

相关内容

最新更新