2016-08-12 147 views
1

我想在iOS上使用视频通话,因此我做了R & D,并发现Webrtc是此选项。 正如我发现WebRTC是对等通信。它的演示示例包含一个服务器LINK。 所以我的问题是,如果WebRTC是点对点,那么为什么这是使用服务器。WebRTC工作流程

回答

0

这将是不安全的应用程序,听取新连接的时候,你通常只需要在一个应用程序的出站连接,入站连接在服务器应用中。
这对于点对点来说是个问题,因为如果两个对等点只连接出站,他们将如何建立连接?答案是所有的对等端都连接到信令服务器。当开始一个呼叫时,对方向服务器发送它想要呼叫另一个对等的信号。然后服务器可以让另一方知道有一个来电。
它并没有在这里结束,仍然没有联系,但至少双方都知道会有一个。两位同行现在都会开始招募ICE候选人。通过ICE,同伴找到建立连接的路线。有时你可以连接点对点,但通常至少有一个防火墙涉及(大部分时间更多)。在这种情况下,协议会尝试一个STUN服务器,它在防火墙中“打洞”(基本上,它以安全的方式打开一个端口)。这覆盖了所有对等连接的90%,但仍然有些情况下对等连接是不可能的。这就是TURN进来的地方,它是一个中继服务器,您的同行可以使用它将数据转发给其他同行。这种连接不是对等的。

1

WebRTC可用于多任务,但实时对等音频和视频(即多媒体)通信是主要优点。为了通过网络浏览器与另一个人(即同伴)通信,每个人的网络浏览器必须同意开始通信,知道如何相互定位,绕过安全和防火墙保护以及实时传输所有多媒体通信。

与基于浏览器的点对点通信相关的最大挑战之一是知道如何找到并与另一台计算机的网络浏览器建立网络套接字连接,以便双向传输多媒体数据。与此相关的困难起初可能并不明显,但让我进一步解释。

当您访问某个网站时,通常会输入一个网址或点击链接查看该网页。向通过提供网页(HTML,CSS和JavaScript)作出响应的服务器发出请求。这里的关键是你向一个已知的,可以轻松定位的(通过DNS)服务器发出一个HTTP请求,并获得一个响应(即网页)。

现在我们假设我想和亲爱的妈妈进行视频聊天。我妈妈的电脑不是网络服务器。因此,问题是如何直接发送请求并实际接收她的音频和视频数据,同时还将我的音频和视频数据直接发送给她,而不通过外部服务器?

得到帮助从HERE