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

时间:2015-12-09 22:22:42

标签: javascript webrtc

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

我知道WebRTC是 peer-to-peer ,我需要为每组对等设备建立连接。但是,我开始考虑信号(还没有代码),我想知道“提供”。在我的原型中,我看到多次单击“创建商品”会产生相同的字符串。因此,如果有客户端A,并连接到客户端B和C,看起来我将向它们发送相同的“报价”。如果这是正确的,它使信令的第一步变得容易 - 客户端A将始终具有相同的报价,我只需要收集来自连接对等方的响应。

这是正确的理解吗?

1 个答案:

答案 0 :(得分: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><br/>
First PC, second offer: <span id="12"></span><br/>
Second PC, first offer: <span id="21"></span><br/>
Second PC, second offer: <span id="22"></span><br/>

您可以在http://tools.ietf.org/html/rfc4566#page-11

中找到有关SDP的更多信息