--- title: WebSocket slug: Web/API/WebSocket tags: - API - Interface - NeedsContent - WebSocket - WebSockets - インターフェイス translation_of: Web/API/WebSocket ---
{{APIRef("Web Sockets API")}}

WebSocket オブジェクトは、サーバーへの WebSocket 接続の作成と管理、および接続上のデータの送受信に使用する API を提供します。

WebSocket を構築するには、 WebSocket() コンストラクターを使用してください。

コンストラクター

{{domxref("WebSocket.WebSocket", "WebSocket(url[, protocols])")}}
新しく作成された WebSocket オブジェクトを返します。

定数

定数
WebSocket.CONNECTING 0
WebSocket.OPEN 1
WebSocket.CLOSING 2
WebSocket.CLOSED 3

プロパティ

{{domxref("WebSocket.binaryType")}}
接続で使用されるバイナリデータ型。
{{domxref("WebSocket.bufferedAmount")}} {{readonlyinline}}
キューに入れられたデータのバイト数。
{{domxref("WebSocket.extensions")}} {{readonlyinline}}
サーバーによって選択された拡張機能。
{{domxref("WebSocket.onclose")}}
接続が閉じられたときに呼び出されるイベントリスナー。
{{domxref("WebSocket.onerror")}}
エラーが発生したときに呼び出されるイベントリスナー。
{{domxref("WebSocket.onmessage")}}
サーバーからメッセージを受信したときに呼び出されるイベントリスナー。
{{domxref("WebSocket.onopen")}}
接続が開かれたときに呼び出されるイベントリスナー。
{{domxref("WebSocket.protocol")}} {{readonlyinline}}
サーバーによって選択されたサブプロトコル。
{{domxref("WebSocket.readyState")}} {{readonlyinline}}
接続の現在の状態。
{{domxref("WebSocket.url")}} {{readonlyinline}}
WebSocket の絶対 URL。

メソッド

{{domxref("WebSocket.close", "WebSocket.close([code[, reason]])")}}
接続を閉じます。
{{domxref("WebSocket.send", "WebSocket.send(data)")}}
送信するデータをキューに入れます。

イベント

これらのイベントを待ち受けするには、 addEventListener() を使用するか、イベントリスナーをこのインターフェイスの oneventname プロパティへ代入します。

{{domxref("WebSocket/close_event", "close")}}
WebSocket による接続が閉じたときに発生します。
{{domxref("WebSocket/onclose", "onclose")}} プロパティからも利用できます。
{{domxref("WebSocket/error_event", "error")}}
WebSocket による接続が、データの一部が送信できなかったなどのエラーのために閉じた時に発生します。
{{domxref("WebSocket/onerror", "onerror")}} プロパティからも利用できます。
{{domxref("WebSocket/message_event", "message")}}
WebSocket を通じてデータを受信したときに発生します。
{{domxref("WebSocket/onmessage", "onmessage")}} プロパティからも利用できます。
{{domxref("WebSocket/open_event", "open")}}
WebSocket による接続が開いたときに発生します。
{{domxref("WebSocket/onopen", "onopen")}} プロパティからも利用できます。

// WebSocket 接続を作成
const socket = new WebSocket('ws://localhost:8080');

// 接続が開いたときのイベント
socket.addEventListener('open', function (event) {
    socket.send('Hello Server!');
});

// メッセージの待ち受け
socket.addEventListener('message', function (event) {
    console.log('Message from server ', event.data);
});

仕様書

仕様書 状態
{{SpecName("HTML WHATWG", "#network", "WebSocket")}} {{Spec2("HTML WHATWG")}}

ブラウザーの互換性

{{Compat("api.WebSocket")}}

関連情報