RTCPeerConnection:close() 方法
close()
方法是 RTCPeerConnection
接口的方法,用于关闭当前的点对点连接。
语法
js
close()
此方法没有参数,也不返回任何值。
调用此方法将终止 RTCPeerConnection 的 ICE 代理,结束任何正在进行的 ICE 处理和任何活动流。这还将释放 ICE 代理正在使用的任何资源,包括 TURN 权限。所有 RTCRtpSender
对象在返回后都被视为已停止(它们可能仍在停止过程中,但就所有意图和目的而言,它们已停止)。
此方法返回后,由 RTCPeerConnection.signalingState
返回的信号状态为 closed
。
在尝试创建连接到相同远程对等点的新的 RTCPeerConnection
之前,请确保您已 delete
对先前 RTCPeerConnection
的所有引用,因为不这样做可能会导致某些错误,具体取决于浏览器。
示例
js
const pc = new RTCPeerConnection();
const dc = pc.createDataChannel("my channel");
dc.onmessage = (event) => {
console.log(`received: ${event.data}`);
pc.close(); // We decided to close after the first received message
};
dc.onopen = () => {
console.log("datachannel open");
};
dc.onclose = () => {
console.log("datachannel close");
};
规范
规范 |
---|
WebRTC:浏览器中的实时通信 # dom-rtcpeerconnection-close |
浏览器兼容性
BCD 表格仅在启用 JavaScript 的浏览器中加载。