为什么我的WebRTC代码会生成很多冰候选者?

时间:2015-03-25 21:00:00

标签: javascript node.js socket.io webrtc p2p

以下是客户端代码:http://hostcode.sourceforge.net/view/2911

以下是服务器端代码:http://hostcode.sourceforge.net/view/2912

所以会发生什么,我有两个按钮。我是webrtc的新手,所以我现在只是用按钮测试它。

我打开一个窗口然后转到localhost。我点击接受相机,并在相机中看到自己。然后,在第一个窗口,我应该点击连接。我没有点击其他按钮!

我打开另一个窗口然后转到localhost。我点击接受相机,看到我自己,然后我先点击连接,然后点击创建提供按钮。 这两个窗口连接起来,但是它产生了8-15个冰候选者...而且我让它们登录控制台。这么多冰候选人....为什么?它是我wifi网络上所有人的列表吗?或者是什么? 它说“好吧这是冰候选人事件,我猜:”然后它列出了冰候选人....它在console.log中写了14次,就在这两个窗口连接的时候!它没有任何意义......

1 个答案:

答案 0 :(得分:3)

  

我认为冰候选人是打开窗户的人

不,那是你出错的地方。 ICE协议试图在两个对等体之间建立直接网络连接。 这是一个难题。常规网络拓扑中存在许多问题需要解决以及直接连接可能采用的许多可能路由。 ICE协议使用第三方服务器(例如,除了您尝试连接的两个客户端之外的其他人)来探测两个对等体之间可能的网络路径。这就是ICE的候选人。他们提出了如何建立连接的建议。三方继续探索和测试不同的可能性,直到所有人都筋疲力尽和/或建立了良好的直接联系。

相关问题