WebRTC需要服务器吗?

问题描述 投票:0回答:1

我有一个简单的问题

基于此链接

WebRTC

WebRTC(网络实时通信)是业界为增强 网页浏览模型。它允许浏览器直接交换 通过点对点方式与其他浏览器共享实时媒体 安全访问网络摄像头和麦克风等输入外围设备。

传统的 Web 架构基于客户端-服务器范式, 客户端向服务器发送 HTTP 请求并获取响应 包含所请求的信息。相比之下,WebRTC 允许 N 个对等点之间的数据交换。在这次交流中,同行们互相交谈 其他中间没有服务器。

我以为 webRTC 就是这样,但后来 我看到这个教程了

WebRTC 聊天应用程序

他创建了一个 Node.js 服务器,甚至在他的应用程序中使用了 WebSocket。现在,我对 WebRTC 技术必须仅与对等点一起工作的定义感到困惑,但现在在本教程中使用了服务器。我想知道客户端-服务器实时通信和 WebRTC 到底有什么区别。

javascript reactjs node.js websocket webrtc
1个回答
0
投票

WebRTC 媒体流量可以是点对点的:视频和音频流量可以直接从发送者到接收者。

但是,为了进行通信,两个对等点需要交换一些信息,例如它们的 IP 地址(“ICE 候选者”)和它们的加密密钥。他们如何交换此信息取决于应用程序,但通常的解决方案是使用称为“信令服务器”的服务器。

 signalling server
    /        \
   /          \   ICE candidates and
  /            \  cryptographic keys
 /    media     \
A ============== B

上述情况也有一些例外。首先,如果无法直接通信(例如由于防火墙配置错误),WebRTC 将回退到通过“TURN”服务器路由媒体流量。其次,WebRTC 是一个相当灵活的协议,许多应用程序将其与媒体服务器(“SFU”)一起使用,在这种情况下,所有媒体流量都通过服务器。

© www.soinside.com 2019 - 2024. All rights reserved.