我正在尝试在 Windows 系统上的两个 chrome(版本 20.0.1132.57)窗口之间创建对等连接。我将我的应用程序托管在 linux 机器上的 node.js 服务器上并使用 socket.io。这两台机器在同一个内部网络上。我没有使用 stun 服务器。是否需要在这种情况下使用 STUN,因为两台机器都是同一个内部网络的一部分?如果不是,那么为什么不调用 onSignal 回调?
var stun=null;
function connect(){
createPeer();
pc.addStream(localstream);
}
function createPeer(){
pc = new webkitPeerConnection00(stun, onSignal);
pc.onadddstream=onRemoteStreamAdded;
pc.onremovestream=onRemoteStreamRemoved;
}
function onSignal(message){
socket.send(message)//sending this to server
}
//on receiving message
socket.on('message',onMessage);
function onMessage(message){
if(pc==null){
createPeer();
pc.addStream(localstream);
}
pc.processSignallingMessage(message);
}
///服务器端
socket.on('message', function(message){
socket.broadcast.send(message);//broadcasting received message to other peers
});
我已经使用了这个演示http://html5videoguide.net/presentations/WebDirCode2012/websocket/webrtc.html
我试图通过这个http://www.html5rocks.com/en/tutorials/webrtc/basics/#toc-sans来了解对等连接的工作原理,其中在一个页面本身上实现了调用者和被调用者。它对我不起作用,因为它在 new RTCIceCandidate(candidate), error "ReferenceError: RTCIceCandidate is not defined" 中抛出错误。有没有其他创建 Ice Candidate 的语法?
提前致谢。