WebRTC 对等服务器而不是对等

WebRTC Peer to Server instead of Peer To Peer

WebRTC 对等服务器而不是对等

我想构建一个 WebRTC 视频和语音通话应用程序。 但是,我不希望一个用户能够直接连接到另一个用户,因为这会带来不必要的安全风险。所以我认为以所有用户(在本例中为 2 个)连接到服务器的方式实现整个事情更有意义,然后服务器分发数据并且用户不会在他们之间分发数据,例如, IP 是公开可见的。

我不想要那个:

所以即使我认为这是你可以做到的正常方式我也不想这样做,因为,我怎么说这种连接会带来很多安全风险。

我想要那个:

例如,我听说 Discord 的功能与我在图中显示的完全相同(至少相似)。这可以实施吗?如果是这样,怎么办?顺便说一句,我在后端使用了 Python Django。我想知道这是否也可以通过 Python Django Channels 来完成。那么在 Django Channels 中是否有一个可以设置 WebRTC 服务器的实现?非常感谢

ALL public 点对点通信在中间使用服务器。当今世界上几乎每台最终用户计算机都位于防火墙后面,无法从其网络外部直接寻址。

您需要使用 TURN 中继服务器,并在浏览器中创建 RTCPeerConnection 时将 RTCIceTransportPolicy 设置为 relay。这将导致媒体路径与您的底部图表匹配。