我需要TURN服务器吗?

时间:2019-07-07 18:26:10

标签: webrtc turn

在哪种情况下应该使用TURN服务器?

现在我有一个完美运行的WebRTC应用程序。该应用将要发布。

我需要设置自己的TURN服务器吗?也许只有主要应用才是这种情况?

4 个答案:

答案 0 :(得分:1)

关于此主题已经有不错的文章和清晰的讨论。您可能要遍历它们-

答案 1 :(得分:0)

如果您要确保您的应用程序几乎总是可以正常运行,则应使用TURN服务器。如果您只在某些情况下可以使用它,则不要使用TURN服务器。

答案 2 :(得分:0)

具有STUN服务器但不具有TURN服务器的WebRTC无法与VPN一起使用。

例如,如果2个对等点位于不同的网络(WAN)上,并且有人在使用VPN,则必须使用TURN服务器。

答案 3 :(得分:0)

WebRTC可以通过几种方式进行连接,并且由于其最初的选择失败而逐渐下降到优先级较低的选择。

  1. 直接使用自己的IP进行直接p2p
  2. 如果失败,请使用STUN服务器确定我们落后的IP(例如路由器)
  3. 如果失败,则无法实现真正​​的p2p,请改用TURN服务器中继流量。

在典型的webRTC应用中,大约20%的连接需要TURN服务器。它可能对您来说很好,但是尝试通过手机连接(通常需要使用TURN)访问您的webRTC服务,并且在p2p上您会发现并非所有连接都是平等的。

https://www.frozenmountain.com/developers/blog/webrtc-nat-traversal-methods-a-case-for-embedded-turn

此图显示了与STUN相对,各方的NAT的哪种连接类型导致需要TURN。