WebRTC:TURN服务器与滚动您自己的通过通信的自定义服务器有何不同?
在理解WebRTC时,我发现TURN服务器有一点很难理解。让我快速回顾一下我所理解的 信令服务器:是传递SDP数据包以协商WebRTC连接的自定义(非协议指定)实现。最有趣/最古怪的实现是将SDP数据包复制/粘贴为纯文本,如所述(旁注:谁说“实现”意味着您必须编程?:-D) STUN服务器:它告诉您可以访问的IP+端口。再见,纳特!哦,只有80%的案例 另外20%,我对TURN servers的理解是:两个(或更多)P2P连接方都可以访问的服务器,通过TURN服务器(使用Nat周围的中继进行遍历)中继来自这些方的数据,并将其发送给另一方。如中所述 我的处境(以及由此产生的问题)WebRTC:TURN服务器与滚动您自己的通过通信的自定义服务器有何不同?,webrtc,turn,Webrtc,Turn,在理解WebRTC时,我发现TURN服务器有一点很难理解。让我快速回顾一下我所理解的 信令服务器:是传递SDP数据包以协商WebRTC连接的自定义(非协议指定)实现。最有趣/最古怪的实现是将SDP数据包复制/粘贴为纯文本,如所述(旁注:谁说“实现”意味着您必须编程?:-D) STUN服务器:它告诉您可以访问的IP+端口。再见,纳特!哦,只有80%的案例 另外20%,我对TURN servers的理解是:两个(或更多)P2P连接方都可以访问的服务器,通过TURN服务器(使用Nat周围的中继进行遍历
注意:在我的例子中,它是NodeJS+Socket.io,但它可以是任何定制的服务器(为了好玩,我还创建了一个Ruby/Rails实现,其中WebSocket没有HTTP长轮询作为回退).可能是因为我们不希望在有一些好的免费实现(如和)的情况下从头开始构建中继服务器的开销。您需要花费大量时间来实现相同级别的性能和可扩展性
此外,有了TURN服务器,您不需要单独的STUN服务器。可能是因为我们不想在有一些好的免费实现(如和)时从头开始构建中继服务器。您需要花费大量时间来实现相同级别的性能和可扩展性
此外,有了TURN服务器,您不需要单独的STUN服务器。通常socket.io和Node仅用于发送信号(和发送自定义消息)。一个简单的CoTurn实例可以在5$vps上运行 除了作为turn服务器使用外,它还提供了stun功能,但根据我的经验,也使用公共的google stun总是一个好主意(除了在中国,它是无法访问的)
问题是:您是否检查了网络和系统负载以及您的实现,并将其与经典的TURN设置进行了比较 通常socket.io和Node仅用于发送信号(和发送自定义消息)。一个简单的CoTurn实例可以在5$vps上运行 除了作为turn服务器使用外,它还提供了stun功能,但根据我的经验,也使用公共的google stun总是一个好主意(除了在中国,它是无法访问的)
问题是:您是否检查了网络和系统负载以及您的实现,并将其与经典的TURN设置进行了比较 公平地说,当你前面已经有一个完美的轮子时,从头开始不是一件好事。公平地说,当你前面已经有一个完美的轮子时,从头开始不是一件好事。