我可以在 WebRTC 中为多个连接重用 "offer" 吗?
Can I re-use an "offer" in WebRTC for mulitple connections?
我开始学习 WebRTC 并在这里使用 copy/paste 制作了一个工作原型:https://github.com/aerik/webrtc(该原型在两个浏览器 windows 中是 运行 ,不像许多其他例子 运行 双方合而为一 window)
我知道 WebRTC 是 点对点 并且我需要为每组对等点建立连接。但是,我开始考虑信号(还没有代码)并且我想知道 "offer"。在我的原型中,我看到多次单击 "create offer" 会产生相同的字符串。因此,如果有客户端 A,并连接到客户端 B 和 C,看起来我将向它们发送相同的 "offer"。如果那是正确的,那么发送信号的第一步就很容易了——客户端 A 总是有相同的报价,而我只需要从连接的对等方收集响应。
这样理解正确吗?
不是,对等连接会为不同的报价生成不同的原始值(SDP 中的o=
)。
相同的对等连接提议将包含相同的 <sess-id>
但不同的 <sess-version>
。
不同的peer连接会产生不同的<sess-id>
您可以使用 Chrome 中的以下代码片段进行检查:
var a = new webkitRTCPeerConnection({});
a.createOffer().then(offer => $('#11').text(offer.sdp));
a.createOffer().then(offer => $('#12').text(offer.sdp));
var b = new webkitRTCPeerConnection({});
b.createOffer().then(offer => $('#21').text(offer.sdp));
b.createOffer().then(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/>
中找到有关 SDP 的更多信息
我开始学习 WebRTC 并在这里使用 copy/paste 制作了一个工作原型:https://github.com/aerik/webrtc(该原型在两个浏览器 windows 中是 运行 ,不像许多其他例子 运行 双方合而为一 window)
我知道 WebRTC 是 点对点 并且我需要为每组对等点建立连接。但是,我开始考虑信号(还没有代码)并且我想知道 "offer"。在我的原型中,我看到多次单击 "create offer" 会产生相同的字符串。因此,如果有客户端 A,并连接到客户端 B 和 C,看起来我将向它们发送相同的 "offer"。如果那是正确的,那么发送信号的第一步就很容易了——客户端 A 总是有相同的报价,而我只需要从连接的对等方收集响应。
这样理解正确吗?
不是,对等连接会为不同的报价生成不同的原始值(SDP 中的o=
)。
相同的对等连接提议将包含相同的 <sess-id>
但不同的 <sess-version>
。
不同的peer连接会产生不同的<sess-id>
您可以使用 Chrome 中的以下代码片段进行检查:
var a = new webkitRTCPeerConnection({});
a.createOffer().then(offer => $('#11').text(offer.sdp));
a.createOffer().then(offer => $('#12').text(offer.sdp));
var b = new webkitRTCPeerConnection({});
b.createOffer().then(offer => $('#21').text(offer.sdp));
b.createOffer().then(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/>