【问题标题】:Establishing WebRTC peer connection建立 WebRTC 对等连接
【发布时间】:2017-08-25 09:37:11
【问题描述】:

我已经开始研究 WebRTC,我正在使用它来构建一个使用数据通道的简单点对点聊天应用程序。我有以下问题:

  1. 我需要建立一个 RTCPeerConnection 到我想与之交谈的每个对等方吗?因此,如果有 3 个对等点,它们每个需要 2 个 RTCPeerConnections(除非我使用其中一个对等点作为一种临时服务器)。

  2. 如果对等点 A 在向对等点 B 创建报价时发送出候选人和 sdp。对等点 B 可以使用该信息连接到对等点 A 并通过 RTCPeerConnection 发送其答案(与候选人及其 sdp),即使用RTCPeerConnection(在它完全建立之前)作为一个信号通道?我假设当对等点 A 创建报价时,它开始侦听某个端口上的连接。

我对 WebRTC 的理解有点有限,所以如果我在上面的问题中误解了 WebRTC 的一些概念,请指出!

【问题讨论】:

    标签: webrtc


    【解决方案1】:
    1. 是的,作为直接 P2P 协议,每个人都必须直接连接到其他人,如果他们想进行通信;除非您创建某种网状网络,其中一个对等方将消息转发给其他对等方。
    2. 不,SDP的offer和answer和ICE候选都需要通过信令服务器进行交换;在两个对等方实际就特定会话配置和要使用的 ICE 路由达成一致之前,无法建立连接,因此您无法通过尚未完成的连接发送 SDP 应答。

    特别是对于简单的纯文本聊天,通过服务器通常比使用 P2P 更容易;处理和带宽要求是如此之低,以至于 P2P 连接的复杂性可能不值得。无论如何,您都需要一个信令服务器。只有当您开始发送大文件或音频/视频流时,P2P 才会变得真正有趣。

    【讨论】:

      【解决方案2】:

      原则上,可以在没有信令服务器的情况下建立 WebRTC 连接,但这需要在对等点之间进行会话令牌的带外交换。 IE。用户必须从应用程序复制令牌,以某种方式将其发送给另一个用户,而另一个用户必须粘贴它。

      此外,这些令牌不能重复使用,因此每次对等方想要建立连接时都必须重复此过程。

      因此,虽然理论上可行,但实际上 webrtc 并没有分发。

      is some noise 关于指定对传入连接和可重用对等联系人的支持,但进展尚不清楚。

      【讨论】:

        猜你喜欢
        • 2022-01-18
        • 2019-05-23
        • 2013-08-07
        • 1970-01-01
        • 1970-01-01
        • 2021-08-29
        • 1970-01-01
        • 1970-01-01
        • 2021-08-04
        相关资源
        最近更新 更多