RTCPeerConnection.close()
Baseline Widely available
This feature is well established and works across many devices and browser versions. It’s been available across browsers since January 2020.
RTCPeerConnection.close()
メソッドは、現在のピア接続を閉じます。
構文
js
close()
このメソッドには引数がなく、何も返しません。
このメソッドを呼び出すと、RTCPeerConnection の ICE エージェントが終了し、進行中の ICE 処理とアクティブなストリームがすべて終了します。また、TURN 権限を含め、ICE エージェントが使用するすべてのリソースを解放します。このメソッドを返すと、すべての RTCRtpSender
オブジェクトが停止したとみなされます(まだ停止中かもしれませんが、どう考えても停止しています)。
このメソッドが返されると、RTCPeerConnection.signalingState
が返す信号状態は closed
となります。
同じリモートピアーに接続する新しい接続を作成する前に、前回の RTCPeerConnection
への参照をすべて delete
するようにしてください(ブラウザーによってはエラーが発生する場合があります)。
例
js
const pc = new RTCPeerConnection();
const dc = pc.createDataChannel("my channel");
dc.onmessage = (event) => {
console.log(`received: ${event.data}`);
pc.close(); // 最初の受信メッセージで閉じることを決定した
};
dc.onopen = () => {
console.log("datachannel open");
};
dc.onclose = () => {
console.log("datachannel close");
};
仕様書
Specification |
---|
WebRTC: Real-Time Communication in Browsers # dom-rtcpeerconnection-close |
ブラウザーの互換性
BCD tables only load in the browser