[英]Webrtc Call gets connected even if I'm not adding ice candidate in peer candidate
[英]Webrtc adding ice candidate to remote peer
以下是来自google webrtc tutorilal的示例webrtc点对点连接代码。 这个链接。 我无法理解,addIceCandidate()如何使用onIceCandidate()将其Ice候选添加到其远程对等体。 event.candidate在这里意味着什么。 明确的解释将不胜感激
function onIceCandidate(pc, event) { //pc1.onicecandidate
if (event.candidate) {
getOtherPc(pc).addIceCandidate(
new RTCIceCandidate(event.candidate)
).then(
function() {
onAddIceCandidateSuccess(pc);
},
function(err) {
onAddIceCandidateError(pc, err);
}
);
当对等体A发现了ICE候选者(可以用于通信的潜在路由)时,它需要将该ICE候选者发送给对等体B(反之亦然)。 然后,同伴B将ICE候选添加到其连接中。 两个对等体都以这种方式交换ICE候选者,直到他们找到了两个能够用来直接相互通信的最佳路由。
在该简单示例中,对等体A和B似乎在同一台机器中,因此(虚拟) getOtherPc
函数可以获得“另一个对等体”的句柄,并且您可以直接使用其addIceCandidate
方法。 但实际上,您必须使用信令服务器发送ICE候选者; 对等方可以通过网络交换信息的其他方式。 通常,该信令服务器将使用websocket连接,通过该连接可以近乎实时地中继信息。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.