首页 文章

我可以在WebRTC中重复使用“优惠”进行多种连接吗?

提问于
浏览
4

我开始学习WebRTC,并在这里使用复制/粘贴工作原型:https://github.com/aerik/webrtc(原型应该在两个浏览器窗口中运行,不同于在一个窗口中运行双方的许多其他示例)

我知道WebRTC是点对点的,我需要为每组对等体 Build 连接 . 但是,我想知道"offer" . 在我的原型中,我看到多次单击"create offer"会产生相同的字符串 . 所以,如果有客户端A,并连接到客户端B和C,看起来我会向它们发送相同的"offer" . 如果这是正确的,它使信令的第一步变得容易 - 客户端A将始终具有相同的报价,我只需要收集来自连接对等方的响应 .

这是正确的理解吗?

1 回答

  • 4

    事实并非如此,对等连接将为不同的商品生成不同的原始值(SDP中的 o= ) .

    相同的对等连接商品将包含相同的 <sess-id> 但不同的 <sess-version> .

    不同的对等连接会产生不同的 <sess-id>

    您可以使用Chrome中的以下代码段进行检查:

    var a = new webkitRTCPeerConnection({});
    a.createOffer(function (offer) { $('#11').text(offer.sdp); });
    a.createOffer(function (offer) { $('#12').text(offer.sdp); });
    var b = new webkitRTCPeerConnection({});
    b.createOffer(function (offer) { $('#21').text(offer.sdp); });
    b.createOffer(function (offer) { $('#22').text(offer.sdp); });
    
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
    First PC, first offer: <span id="11"></span>
    First PC, second offer: <span id="12"></span>
    Second PC, first offer: <span id="21"></span>
    Second PC, second offer: <span id="22"></span>

    您可以在http://tools.ietf.org/html/rfc4566#page-11找到有关SDP的更多信息

相关问题