首页 文章

WebRTC是否允许实际的点对点通信?

提问于
浏览
1

信令服务器是否仅在第一次使用时在2个对等体之间 Build 连接,还是用于在对等体之间发送和接收数据流?

2 回答

  • 3

    根据w3c proposal

    RTCPeerConnection允许两个用户直接通信,浏览器到浏览器 . 通过信令信道协调通信,信令信道由未指定的装置提供,但通常由页面中的脚本通过服务器提供,例如通过服务器提供 . 使用XMLHttpRequest .

    因此,服务器仅用于信号,不用于数据传输 . 但信令不仅限于 Build 第一个连接 . 信令信道还用于传输错误消息,诸如编解码器的元数据,编解码器设置,网络数据和用于安全传输的密钥 .

  • 2

    这取决于网络配置 .

    如果至少有一个对等体不在NAT防火墙之后,则直接在因特网上的对等体充当服务器,并且在 Build 连接之后不再使用信令服务器 .

    如果两个对等体都在NAT设备后面,则在某些情况下可能会在对等体之间取消客户端服务器连接,并且数据再次直接在两个对等体之间发送 .

    如果两个对等体都在被锁定的NAT防火墙后面,则对等体之间的所有流量都通过信令服务器 .

    另请注意,在前两种情况下,使用STUN服务器 Build 连接 . 如果通过服务器中继完整数据,则使用TURN服务器 .

    看看article an video on html5rocks中的一个很好的解释 . 他们声称只有大约14%的连接需要TURN,这对我来说似乎是一个非常低的数字(这相当于只有37%的所有客户端都在锁定的NAT路由器后面) .

相关问题