Spec-Zone.ru › Web APIs

WebSocketStream: свойство opened

Экспериментальное: Это экспериментальная технология
Перед использованием в продакшене внимательно изучите таблицу совместимости браузеров.

Примечание: Данная функция доступна в Web Workers.

Чтение-только свойство opened интерфейса WebSocketStream возвращает Promise, который выполняется с объектом, когда соединение сокета успешно открыто. Среди других функций, этот объект содержит экземпляр ReadableStream и WritableStream для получения и отправки данных по соединению.

Значение

Обещание, которое выполняется с объектом, содержащим следующие свойства:

extensions

Строка, представляющая любые расширения, примененные к WebSocketStream. Такие расширения в настоящее время не определены, но могут быть определены в будущем. В настоящее время возвращает пустую строку.

protocol

Строка, представляющая подпротокол, используемый для открытия текущего WebSocket-соединения (выбранный из параметров, указанных в параметре protocols конструктора WebSocketStream()). Возвращает пустую строку, если для открытия соединения не использовался подпротокол (т.е. параметры подпротокола не были включены в вызов конструктора).

readable

Экземпляр ReadableStream. Вызовите ReadableStream.getReader() для получения экземпляра ReadableStreamDefaultReader, который можно использовать для чтения входящих данных WebSocket.

writable

Экземпляр WritableStream. Вызовите WritableStream.getWriter() для получения экземпляра WritableStreamDefaultWriter, который можно использовать для записи данных в соединение WebSocket.

Обещание отклоняется, если соединение WebSocket не удалось.

Примеры

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

См. Использование WebSocketStream для написания клиента для полного примера с полным объяснением.

Спецификации

В настоящее время не является частью какой-либо спецификации. См. https://github.com/whatwg/websockets/pull/48 для получения информации о процессе стандартизации.

Совместимость браузеров

Рабочие столы Мобильные устройства
Chrome Edge Firefox Opera Safari Chrome Android Firefox для Android Opera Android Safari на IOS Samsung Internet WebView Android
opened 124 124 Нет 110 Нет 124 Нет 82 Нет 27.0 124

См. также

  • WebSocketStream: интеграция потоков с WebSocket API, developer.chrome.com (2020)

© 2005–2024 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/API/WebSocketStream/opened

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API