Dieser Inhalt wurde automatisch aus dem Englischen übersetzt, und kann Fehler enthalten. Erfahre mehr über dieses Experiment.

View in English Always switch to English

WebSocketStream: close() Methode

Experimentell: Dies ist eine experimentelle Technologie
Überprüfen Sie die Browser-Kompatibilitätstabelle sorgfältig vor der Verwendung auf produktiven Webseiten.

Hinweis: Diese Funktion ist in Web Workers verfügbar.

Die close()-Methode des WebSocketStream-Interfaces schließt die WebSocket-Verbindung. Die Methode akzeptiert optional ein Objekt, das einen benutzerdefinierten Code und/oder den Grund enthält, warum die Verbindung geschlossen wurde.

Ein alternativer Mechanismus zum Schließen eines WebSocketStream besteht darin, bei der Erstellung im Konstruktor ein AbortSignal in der signal-Option anzugeben. Der zugehörige AbortController kann dann verwendet werden, um die WebSocket-Verbindung zu schließen. Dies ist im Allgemeinen der bevorzugte Mechanismus. Allerdings kann close() 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 repräsentiert (siehe die vollständige Liste der CloseEvent-Statuscodes).

reason Optional

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

Hinweis: Abhängig von der Serverkonfiguration und dem von Ihnen verwendeten Statuscode kann der Server entscheiden, einen benutzerdefinierten Code zu ignorieren und stattdessen einen gültigen Code zu verwenden, der korrekt für den Schließungsgrund 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 angegebene reason länger als die maximal zulässige Länge von 123 Bytes ist.

Beispiele

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

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

Spezifikationen

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

Browser-Kompatibilität

Siehe auch