WebRTC中的STUN / TURN(coTURN)服务器和信令服务器(用socket.io/websocket编写)之间有何区别?

时间:2019-01-27 13:02:51

标签: webrtc

我正在建立此视频教学网站,并进行了一些研究并获得了很好的理解,但是除了这件事。因此,当一个用户想要连接到另一个用户P2P时,我需要信令服务器来获取其公共IP以使其连接。现在,STUN正在执行该作业,如果对等方无法连接,TURN将中继媒体。现在,如果我用WebSocket编写了信令服务器来传达SDP消息并使ICE正常工作,我是否需要安装coTURN?他们的工作特别是什么工作?

我真正感到困惑的是我简单编写的WebSocket信令服务器的工作(从我在其他教程中看到的)以及我将安装的coTURN服务器的工作。以及如何将它们与我将安装的媒体服务器连接。

第二个问题,当只有两个/三个参与者并且让媒体服务器参与其中时,是否有一种使用P2P的方法呢?所以我不会浪费太多参与者的带宽吗?

1 个答案:

答案 0 :(得分:1)

要求信令服务器在对等方之间交换消息(SDP数据包),直到它们建立P2P连接为止。

有一台STUN服务器可以帮助对等方发现有关其公共IP的信息并打开防火墙端口。

如果无法进行P2P连接,则TURN服务器是公共可访问位置的中继。

是的,基本上所有这些功能都可以由一台服务器完成,但是它们是故意分开的。 WebRTC规范对信令服务器完全没有话要说,因为信令机制对于每个应用程序都是非常独特的,并且可以采取许多不同的形式。 TURN占用大量带宽,如果您希望完全扩展,通常必须将其委派给较大的服务器场,因此将其与其他两个功能混用是不切实际的。因此,您最终得到三个独立的组件。

关于多对等连接:是的,您可以很好地建立P2P群组聊天。但是,每个对等点都需要连接到其他对等点,因此每个对等点的连接数和带宽会随着每个新对等点的增加而增加。这对于3或4个对等节点可能会行得通,但除此之外,您可能会开始遇到单个对等节点的带宽和CPU限制,尤其是当您进行质量不错的视频流时。

相关问题