我是 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 对象并将数据通道附加到它?