Movatterモバイル変換


[0]ホーム

URL:


MDN Web Docs

WebSocketStream

Experimental:This is anexperimental technology
Check theBrowser compatibility table carefully before using this in production.

Note: This feature is available inWeb Workers.

TheWebSocketStream interface of theWebSockets API is a promise-based API for connecting to a WebSocket server. It usesstreams to send and receive data on the connection, and can therefore take advantage of streambackpressure automatically, regulating the speed of reading or writing to avoid bottlenecks in the application.

Constructor

Instance properties

urlRead onlyExperimental

Returns the URL of the WebSocket server that theWebSocketStream instance was created with.

closedRead onlyExperimental

Returns aPromise that fulfills with an object once the socket connection is closed. The object contains the closing code and reason as sent by the server.

openedRead onlyExperimental

Returns aPromise that fulfills with an object once the socket connection is successfully opened. Among other features, this object contains aReadableStream and aWritableStream instance for receiving and sending data on the connection.

Instance methods

Examples

js
const output = document.querySelector("#output");function writeToScreen(message) {  const pElem = document.createElement("p");  pElem.textContent = message;  output.appendChild(pElem);}if (!("WebSocketStream" in self)) {  writeToScreen("Your browser does not support WebSocketStream");} else {  const wsURL = "ws://127.0.0.1/";  const wss = new WebSocketStream(wsURL);  console.log(wss.url);  async function start() {    const { readable, writable, extensions, protocol } = await wss.opened;    writeToScreen("CONNECTED");    closeBtn.disabled = false;    const reader = readable.getReader();    const writer = writable.getWriter();    writer.write("ping");    writeToScreen("SENT: ping");    while (true) {      const { value, done } = await reader.read();      writeToScreen(`RECEIVED: ${value}`);      if (done) {        break;      }      setTimeout(() => {        writer.write("ping");        writeToScreen("SENT: ping");      }, 5000);    }  }  start();}

SeeUsing WebSocketStream to write a client for a complete example with full explanation.

Specifications

Not currently a part of any specification. Seehttps://github.com/whatwg/websockets/pull/48 for standardization progress.

Browser compatibility

See also

Help improve MDN

Learn how to contribute.

This page was last modified on byMDN contributors.


[8]ページ先頭

©2009-2025 Movatter.jp