下面是来自 google webrtc 教程的示例 webrtc 点对点连接代码。 this link.我无法正确理解 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 连接,通过该连接可以近乎实时地中继信息。
关于javascript - Webrtc 将 ice 候选者添加到远程对等点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50503493/