如何关闭webrtc datachannel?

kyu*_*ung 1 webrtc rtcdatachannel peer-connection

我不能使用以下方法.

因为我只使用datachannel(不使用getUserMedia)

<script>
    peerConnection.removeStream(remoteStream)
    remoteVideo.onerror = null;
    remoteVideo.pause();
    remoteVideo.src = undefined;
    remoteStream.stop();
    remoteStream.onended = null;
    remoteStream = null;

    peerConnection.removeStream(localStream)

    localVideo.onerror = null;
    localVideo.pause();
    localVideo.src = undefined;
    localStream.stop();
    localStream.onended = null;
    localStream = null;
</script>
Run Code Online (Sandbox Code Playgroud)

有没有办法关闭数据通道?

xdu*_*ine 5

要关闭RTCDataChannel,您可以调用close()- 这也可以在RTCPeerConnection上调用,这将关闭在对等连接上创建的所有数据通道.

var pc = new RTCPeerConnection();
var dc = pc.createDataChannel("my channel");
var dc2 = pc.createDataChannel("my other channel");

dc.onclose = function () {
  console.log("datachannel close");
};

dc2.onclose = function () {
  console.log("dc2 close");
};

dc.close();
pc.close();
Run Code Online (Sandbox Code Playgroud)