【发布时间】:2013-03-07 06:08:46
【问题描述】:
我无法理解 webRTC 的 PeerConnection 和 'oniceccandidate' 事件。
据我了解,您必须使用 STUN(或 TURN)服务器发起对等连接,因为它会将您的 ICE 候选者发送回与另一个对等方通信。
我见过一些示例将 PeerConnection 对象的服务器参数排除在外,我也不太理解,但我们只是说它确实需要服务器参数。
所以,当我写下以下代码时:
var pc, ice = { "iceServers": [{ "url": "stun:stun.l.google.com:19302" }] };
if(typeof mozRTCPeerConnection === 'function') {
pc = new mozRTCPeerConnection(ice);
}
else {
console.log('google');
pc = new webkitRTCPeerConnection(ice);
}
pc.onicecandidate = function(event) {
console.log(event);
}
我希望 'onicecandidate' 事件会触发,但它不起作用。我也尝试了其他公共 STUN 服务器,但没有任何反应。所以我认为我的理解可能有问题:)
【问题讨论】:
-
我不太确定,为什么我把它写成评论,但我认为你必须在设置事件处理程序以实际创建候选人时运行 pc.createOffer。
-
谢谢安德烈亚斯,我一定会尝试的。在阅读了 htmlRocks 上的“WebRTC 入门”教程后,我得出结论,收集 ICE 候选人和 SDP 信息是获取远程流的独立且强制性的过程,但您可能就在那儿。
标签: javascript webrtc stun