我正在尝试为WebRTC应用程序设置对等连接。我已经阅读了论坛和讨论组,这些我认为STUN / TURN服务器是必需的。以下是详细信息:
以下是我正在使用的代码:
function createPeerConnection() {
var pc_config = {'iceServers': [{'url':'turn:127.0.0.1:3478', 'credential':'Apple123'}]};
try {
// Create an RTCPeerConnection via the polyfill (adapter.js).
pc = new webkitRTCPeerConnection(pc_config);
pc.onicecandidate = gotLocalCandidate;
trace("Created RTCPeerConnnection with config:\n" + " \"" +JSON.stringify(pc_config) + "\".");
} catch (e) {
trace("Failed to create PeerConnection, exception: " + e.message);
alert("Cannot create RTCPeerConnection object; WebRTC is not supported by this browser.");
return;
}
pc.onconnecting = onSessionConnecting;
pc.onopen = onSessionOpened;
pc.onaddstream = onRemoteStreamAdded;
pc.onremovestream = onRemoteStreamRemoved;
}
感谢此事的任何指导,因为我完全陷入困境。 还有一个问题:如何在内部网络上同时存在对等体A和B的WebRTC应用程序中建立对等连接?那么是否需要STUN / TURN服务器?
答案 0 :(得分:0)
首先,TURN服务器只有在未能直接设置p2p连接时才会使用。大约86%的呼叫可以在没有通过TURN服务器中继的情况下进行(根据this幻灯片,我推荐这样做以便更好地理解TURN(来自幻灯片44))。
TURN服务器应该在您的网络之外,因为它的目的是在不可能以其他方式这样做时中继流。
我建议你从A和B都在同一网络上的情况开始。然后你不必担心使用STUN / TURN。这太复杂了。