WebRTC アプリケーションのピアツーピア接続をセットアップしようとしています。STUN/TURNサーバーが同じために必要であるという点に私を導くフォーラムとディスカッショングループを読みました。詳細は次のとおりです。
- https://code.google.com/p/rfc5766-turn-server/から STUN/TURN サーバーのオープン ソース実装をダウンロードしました。
- ローカルの Mac OS X マシンにサーバーをインストールし、localhost:3478 でサーバーの電源を入れました
- クライアント スクリプトを使用してサーバーをテストしたところ、サーバーからリモート アドレスを取得できました。
- ただし、ピア ツー ピア接続の作成中に JavaScript コードからサーバーにヒットしようとすると、サーバー自体にはヒットしません。
以下は私が使用しているコードです:
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;
}
この時点で完全に立ち往生しているため、この問題に関するガイダンスに感謝します。もう 1 つの質問: ピア A とピア B の両方が内部ネットワークに存在する WebRTC アプリケーションのピア ツー ピア接続をセットアップするにはどうすればよいですか? その場合、STUN/TURN サーバーは必要ですか?