RTCPeerConnection: close() 方法

Baseline 已廣泛支援

此功能已成熟,可跨多種裝置和瀏覽器版本使用。自 2017 年 9 月以來,它已在瀏覽器中提供。

RTCPeerConnection 介面的 close() 方法用於關閉當前的對等連線。

呼叫此方法會終止 RTCPeerConnection 的 ICE 代理,結束所有正在進行的 ICE 處理和所有活動的流。這還會釋放 ICE 代理使用的任何資源,包括 TURN 許可權。一旦此方法返回,所有 RTCRtpSender 物件都將被視為已停止(它們可能仍在停止過程中,但就所有意圖和目的而言,它們已停止)。

此方法返回後,透過 RTCPeerConnection.signalingState 返回的信令狀態將為 closed

請確保在嘗試建立連線到同一遠端對等方的新 RTCPeerConnection 之前,delete 所有對先前 RTCPeerConnection 的引用,因為這樣做可能會根據瀏覽器而導致某些錯誤。

語法

js
close()

引數

無。

返回值

無 (undefined)。

示例

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

瀏覽器相容性

另見