javascript - Webrtc 将 ice 候选者添加到远程对等点

标签 javascript node.js webrtc

下面是来自 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/

相关文章:

javascript - Express Js Firebase SignOut() 立即向客户端 Fetch Post 请求返回状态 200

node.js - 跨 AWS Lambda 函数调用共享数据库连接

javascript - 在 node.js 中处理回调的最佳实践

windows - 在一个终端中启动多个工具,如 grunt 和 http-server

javascript - 测量通过 RTCDataChannel 发送的数据量

node.js - 可以同时使用 getUserMedia 和 getDisplayMedia

javascript - 为视频 WebRTC 替换 .addStream()

javascript - d3.js v4.9 获取选定元素的计算宽度

javascript - Kendo 图表中带有系列破折号类型的图例

javascript - 构建一些文件,复制其余的