WebSocketStream: close() Methode

Experimentell: Dies ist eine experimentelle Technologie
Überprüfen Sie die Browser-Kompatibilitätstabelle sorgfältig, bevor Sie diese produktiv verwenden.

Hinweis: Dieses Feature ist verfügbar in Web Workers.

Die close()-Methode der WebSocketStream Schnittstelle schließt die WebSocket-Verbindung. Die Methode akzeptiert optional ein Objekt, das einen benutzerdefinierten Code und/oder einen Grund angibt, warum die Verbindung geschlossen wurde.

Ein alternatives Mechanismus zum Schließen eines WebSocketStream ist das Angeben eines AbortSignal in der signal Option des Konstruktors bei der Erstellung. Der zugehörige AbortController kann dann verwendet werden, um die WebSocket-Verbindung zu schließen. Dies ist im Allgemeinen der bevorzugte Mechanismus. close() kann jedoch verwendet werden, wenn Sie einen benutzerdefinierten Code und/oder Grund angeben möchten.

Syntax

js
close()
close(options)

Parameter

options Optional

Ein Optionsobjekt, das die folgenden Eigenschaften enthält:

closeCode Optional

Eine Zahl, die den Schließcode darstellt (siehe die vollständige Liste der CloseEvent-Statuscodes).

reason Optional

Ein String, der eine für Menschen lesbare Beschreibung des Grundes angibt, warum die Socket-Verbindung geschlossen wird. Die maximal zulässige Länge für einen reason-String beträgt 123 Bytes. Der String wird automatisch als UTF-8 kodiert, wenn die Funktion aufgerufen wird.

Hinweis: Abhängig von der Serverkonfiguration und dem verwendeten Statuscode kann der Server wählen, einen benutzerdefinierten Code zugunsten eines gültigen Codes zu ignorieren, der für den Schließgrund korrekt ist. Gültige Codes sind 1000 und jeder Code im Bereich von 3000 bis 4999, einschließlich.

Rückgabewert

Keiner (undefined).

Ausnahmen

SyntaxError DOMException

Wird ausgelöst, wenn der bereitgestellte reason länger ist als die maximal zulässige Länge von 123 Bytes.

Beispiele

js
const wsURL = "wss://127.0.0.1/";
const wss = new WebSocketStream(wsURL);

setTimeout(() => {
  wss.close({
    code: 1000,
    reason: "That's all folks",
  });
}, 10000);

Spezifikationen

Derzeit nicht Teil einer Spezifikation. Siehe https://github.com/whatwg/websockets/pull/48 für den Fortschritt der Standardisierung.

Browser-Kompatibilität

BCD tables only load in the browser

Siehe auch