私はWebRTCの初心者です。ユーザーがお互いのビデオ ストリームを表示したり、ファイルを交換したりできるアプリケーションを構築しています。オーディオ/ビデオ部分が実装され、機能しています。問題は、ファイルを交換する機能を追加する必要があることです。以下のコードを使用して PeerConnection オブジェクトを初期化しています
var connection = _getConnection(partnerId);
console.log("Initiate offer")
// Add our audio/video stream
connection.addStream(stream);
// Send an offer for a connection
connection.createOffer(function (desc) { _createOfferSuccess(connection, partnerId, desc) }, function (error) { console.log('Error creating session description: ' + error); });
_getConnection は、次を使用して新しい RTCPeerConnection オブジェクトを作成します
var connection = new RTCPeerConnection(iceconfig);
つまり、明示的な制約はありません。また、さまざまなイベント ハンドラーを初期化します。この直後に、オーディオ/ビデオ ストリームをこの接続に接続します。また、パートナー ID を使用してこれらの接続をキャッシュするので、後で使用できます。
問題は、後でキャッシュから接続オブジェクトを呼び出して、次のような方法でデータ チャネルを追加できるかどうかです。
connection.createDataChannel("DataChannel", dataChannelOptions);
それを使用してファイルを共有しますか、それとも新しい RTCPeerConnection オブジェクトを作成してデータ チャネルを接続する必要がありますか?