我正在尝试构建视频聊天但无法理解某些代码: 我找到了来自WEBRTC Sample的代码部分 链路: - https://github.com/webrtc/samples/commit/ecca1124803688bf512874188624f6d4538f69d0
var servers = null;
pc1 = new RTCPeerConnection(servers);
trace('Created local peer connection object pc1');
pc1.onicecandidate = function(e) {
onIceCandidate(pc1, e);
};
pc2 = new RTCPeerConnection(servers);
trace('Created remote peer connection object pc2');
pc2.onicecandidate = function(e) {
onIceCandidate(pc2, e);
};
pc1.oniceconnectionstatechange = function(e) {
onIceStateChange(pc1, e);
};
pc2.oniceconnectionstatechange = function(e) {
onIceStateChange(pc2, e);
};
pc2.ontrack = gotRemoteStream;
当我将null
值传递给RTCPeerConnection()
时会发生什么?
答案 0 :(得分:1)
构造函数RTCPeerConnection接受配置对象。除此之外,大多数应用程序所需的配置之一是iceServers
。
iceServers
是STUN或TURN服务器的列表。例如,您的构造函数可能如下所示:
var configuration = {
"iceServers": [{ "urls": ["stun:stun.1.google.com:19302"] }]
};
myConnection = new RTCPeerConnection(configuration);
简单来说,这些STUN和TURN服务器帮助两个对等体发现彼此的直接路径。但是,当您省略服务器时,这意味着应用程序将只能在Intranet内发现对等体,或者基本上在计算机可以直接与之交互的设备集中。 [引证需要]
在任何制作应用中,您很可能必须添加STUN和TURN服务器。但由于您指的是来自code的tutorial,因此不需要跨互联网连接,您可以跳过服务器。