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: opened-Eigenschaft

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.

Nicht standardisiert: Diese Funktion ist nicht standardisiert. Wir raten davon ab, nicht-standardisierte Funktionen auf produktiven Webseiten zu verwenden, da sie nur von bestimmten Browsern unterstützt werden und sich in Zukunft ändern oder entfernt werden können. Unter Umständen kann sie jedoch eine geeignete Option sein, wenn es keine standardisierte Alternative gibt.

Die schreibgeschützte opened-Eigenschaft der WebSocketStream-Schnittstelle gibt ein Promise zurück, das mit einem Objekt erfüllt wird, sobald die Socket-Verbindung erfolgreich geöffnet ist. Unter anderem enthält dieses Objekt eine Instanz von ReadableStream und WritableStream zum Empfangen und Senden von Daten über die Verbindung.

Wert

Ein Promise, das mit einem Objekt erfüllt wird, das die folgenden Eigenschaften enthält:

extensions

Ein String, der alle Erweiterungen repräsentiert, die auf den WebSocketStream angewendet werden. Solche Erweiterungen sind derzeit nicht definiert, könnten aber in Zukunft hinzugefügt werden. Derzeit wird ein leerer String zurückgegeben.

protocol

Ein String, der das Subprotokoll repräsentiert, das zur Öffnung der aktuellen WebSocket-Verbindung verwendet wird (ausgewählt aus den Optionen, die in der protocols-Option des WebSocketStream()-Konstruktors angegeben sind). Gibt einen leeren String zurück, wenn kein Subprotokoll zur Öffnung der Verbindung verwendet wurde (d.h. wenn keine Subprotokoll-Optionen im Konstruktoraufruf enthalten waren).

readable

Eine Instanz von ReadableStream. Rufen Sie ReadableStream.getReader() auf, um eine Instanz von ReadableStreamDefaultReader zu erhalten, die verwendet werden kann, um eingehende WebSocket-Daten zu lesen.

writable

Eine Instanz von WritableStream. Rufen Sie WritableStream.getWriter() auf, um eine Instanz von WritableStreamDefaultWriter zu erhalten, die verwendet werden kann, um Daten an die WebSocket-Verbindung zu schreiben.

Das Promise wird abgelehnt, wenn die WebSocket-Verbindung fehlschlägt.

Beispiele

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

async function start() {
  const { readable, writable, extensions, protocol } = await wss.opened;

  const reader = readable.getReader();
  const writer = writable.getWriter();

  writer.write("ping");

  while (true) {
    const { value, done } = await reader.read();
    if (done) {
      break;
    }

    setTimeout(() => {
      writer.write("ping");
    }, 5000);
  }
}

Siehe Using WebSocketStream to write a client für ein vollständiges Beispiel mit ausführlicher Erklärung.

Spezifikationen

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

Browser-Kompatibilität

Siehe auch