我想在iOS上使用视频通话,我已经做过R& D这样做,发现Webrtc是可选的。 我发现WebRTC是点对点通信。它的演示示例包含一个服务器LINK。 所以我的问题是,如果WebRTC是点对点的,那么为什么这是使用服务器。
答案 0 :(得分:1)
WebRTC 可用于多项任务,但实时点对点音频和视频(即多媒体)通信是主要优势。为了通过网络浏览器与另一个人(即同伴)进行通信,每个人的网络浏览器必须同意开始通信,知道如何相互定位,绕过安全和防火墙保护,并实时传输所有多媒体通信。
与基于浏览器的点对点通信相关的最大挑战之一是知道如何定位和建立与另一台计算机的Web浏览器的网络套接字连接,以便双向传输多媒体数据。与此相关的困难一开始可能并不明显,但让我进一步解释。
当您访问网站时,通常会输入网址或单击链接以查看该网页。向服务器发出请求,该服务器通过提供网页(HTML,CSS和JavaScript)进行响应。这里的关键是你向已知且易于定位(通过DNS)的服务器发出HTTP请求并返回响应(即网页)。
现在让我们说我想与亲爱的妈妈进行视频聊天。我妈的电脑不是网络服务器。因此,问题是如何直接发出请求并实际接收她的音频和视频数据,同时还将我的音频和视频数据直接发送给她,但不通过外部服务器?
从HERE获得帮助
答案 1 :(得分:0)
应用程序始终监听新连接是不安全的,通常只需要应用程序中的出站连接,服务器应用程序中可以找到入站连接。
这是点对点的问题,因为如果两个对等体只连接出站,它们将如何建立连接?答案是所有对等体都连接到信令服务器。当开始呼叫时,对等体向服务器发信号通知它想要呼叫另一个对等体。然后,服务器可以让另一个对等方知道有来电
它并没有在这里结束,仍然没有联系,但至少两个同行都知道会有一个。两个同行现在都将开始生成ICE候选人。通过ICE,对等体找到建立连接的路由。有时你现在可以连接点对点,但通常至少涉及1个防火墙(大多数情况下它更多)。在这种情况下,协议尝试一个STUN服务器,它在防火墙中“打洞”(基本上,它以安全的方式打开一个端口)。这涵盖了所有对等连接的90%,但仍有一些情况下,对等连接是不可能的。这是TURN的用武之地,它是一个中继服务器,您的对等方可以使用它来将数据中继到其他对等方。这种连接不是点对点的。