RTCPeerConnection: close() Methode

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.

Die close()-Methode der RTCPeerConnection Schnittstelle schließt die aktuelle Peer-Verbindung.

Syntax

js
close()

Diese Methode hat keine Parameter und gibt nichts zurück.

Das Aufrufen dieser Methode beendet den ICE-Agent der RTCPeerConnection, beendet jegliche laufende ICE-Verarbeitung und aktive Streams. Dies setzt auch alle vom ICE-Agent verwendeten Ressourcen frei, einschließlich TURN-Berechtigungen. Alle RTCRtpSender-Objekte gelten als gestoppt, sobald diese Methode zurückkehrt (sie können noch im Prozess des Stoppen sein, aber im Wesentlichen sind sie gestoppt).

Sobald diese Methode zurückkehrt, ist der Signalisierungsstatus, wie er von RTCPeerConnection.signalingState zurückgegeben wird, closed.

Stellen Sie sicher, dass Sie alle Referenzen zur vorherigen RTCPeerConnection löschen, bevor Sie versuchen, eine neue Verbindung mit dem gleichen entfernten Peer zu erstellen, da dies je nach Browser zu einigen Fehlern führen könnte.

Beispiel

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");
};

Spezifikationen

Specification
WebRTC: Real-Time Communication in Browsers
# dom-rtcpeerconnection-close

Browser-Kompatibilität

BCD tables only load in the browser

Siehe auch