我正在尝试构建视频聊天,但无法理解某些代码: 我从WEBRTC示例中找到了部分代码 友情链接:-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()
时会发生什么?
构造函数 RTCPeerConnection 接受配置对象。除其他外,大多数应用程序所需的配置之一是iceServers
.
iceServers
是STUN或TURN服务器的列表。例如,构造函数可能如下所示:
var configuration = {
"iceServers": [{ "urls": ["stun:stun.1.google.com:19302"] }]
};
myConnection = new RTCPeerConnection(configuration);
简而言之,这些STUN和TURN服务器可帮助两个对等方发现彼此的直接路径。但是,当您省略服务器时,这意味着应用程序将只能在 Intranet 中发现对等方,或者基本上在您的计算机可以直接与之交互的设备集中发现对等方。[需要引用]
在任何生产应用程序中,您很可能必须添加 STUN 和 TURN 服务器。但是,由于您引用的是教程中的代码,其中不需要通过Internet进行连接,因此可以跳过服务器。