RTCPeerConnection.close()
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