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

WebSocket を構築するには、WebSocket() コンストラクタを使用します。

コンストラクタ

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

プロパティ

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

メソッド

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

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

仕様

仕様書 ステータス コメント
HTML Living Standard
WebSocket の定義
現行の標準 初回定義

ブラウザの互換性

Update compatibility data on GitHub
デスクトップモバイル
ChromeEdgeFirefoxInternet ExplorerOperaSafariAndroid webviewAndroid 版 ChromeEdge MobileAndroid 版 FirefoxAndroid 版 OperaiOS 版 SafariSamsung Internet
基本対応Chrome 完全対応 ありEdge 完全対応 ありFirefox 完全対応 11
補足
完全対応 11
補足
補足 See bug 695635.
未対応 7 — 11
接頭辞付き 補足
接頭辞付き Moz のベンダー接頭辞が必要
補足 Message size limited to 16 MB (see bug 711205).
未対応 4 — 6
補足
補足 Message size limited to 16 MB (see bug 711205).
IE ? Opera 完全対応 ありSafari 完全対応 ありWebView Android ? Chrome Android ? Edge Mobile 完全対応 ありFirefox Android 完全対応 14
補足
完全対応 14
補足
補足 See bug 695635.
未対応 7 — 14
接頭辞付き 補足
接頭辞付き Moz のベンダー接頭辞が必要
補足 Message size limited to 16 MB (see bug 711205).
Opera Android ? Safari iOS 完全対応 ありSamsung Internet Android ?
WebSocket() constructorChrome 完全対応 ありEdge ? Firefox 完全対応 7
完全対応 7
未対応 4 — 7
補足
補足 Parameter protocols not supported.
IE ? Opera 完全対応 ありSafari ? WebView Android ? Chrome Android 完全対応 ありEdge Mobile ? Firefox Android 完全対応 7Opera Android ? Safari iOS ? Samsung Internet Android ?
binaryTypeChrome 完全対応 ありEdge ? Firefox 完全対応 ありIE ? Opera 完全対応 ありSafari ? WebView Android ? Chrome Android 完全対応 ありEdge Mobile ? Firefox Android 完全対応 ありOpera Android ? Safari iOS ? Samsung Internet Android ?
bufferedAmountChrome 完全対応 ありEdge ? Firefox 完全対応 ありIE ? Opera 完全対応 ありSafari ? WebView Android ? Chrome Android 完全対応 ありEdge Mobile ? Firefox Android 完全対応 ありOpera Android ? Safari iOS ? Samsung Internet Android ?
closeChrome 完全対応 ありEdge ? Firefox 完全対応 8
完全対応 8
未対応 4 — 8
補足
補足 Parameters not supported, see bug 674716.
IE ? Opera 完全対応 ありSafari ? WebView Android ? Chrome Android 完全対応 ありEdge Mobile ? Firefox Android 完全対応 ありOpera Android ? Safari iOS ? Samsung Internet Android ?
extensionsChrome 完全対応 ありEdge ? Firefox 完全対応 8IE ? Opera 完全対応 ありSafari ? WebView Android ? Chrome Android 完全対応 ありEdge Mobile ? Firefox Android 完全対応 8Opera Android ? Safari iOS ? Samsung Internet Android ?
oncloseChrome 完全対応 ありEdge ? Firefox 完全対応 ありIE ? Opera 完全対応 ありSafari ? WebView Android ? Chrome Android 完全対応 ありEdge Mobile ? Firefox Android 完全対応 ありOpera Android ? Safari iOS ? Samsung Internet Android ?
onerrorChrome 完全対応 ありEdge ? Firefox 完全対応 ありIE ? Opera 完全対応 ありSafari ? WebView Android ? Chrome Android 完全対応 ありEdge Mobile ? Firefox Android 完全対応 ありOpera Android ? Safari iOS ? Samsung Internet Android ?
onmessageChrome 完全対応 ありEdge ? Firefox 完全対応 ありIE ? Opera 完全対応 ありSafari ? WebView Android ? Chrome Android 完全対応 ありEdge Mobile ? Firefox Android 完全対応 ありOpera Android ? Safari iOS ? Samsung Internet Android ?
onopenChrome 完全対応 ありEdge ? Firefox 完全対応 ありIE ? Opera 完全対応 ありSafari ? WebView Android ? Chrome Android 完全対応 ありEdge Mobile ? Firefox Android 完全対応 ありOpera Android ? Safari iOS ? Samsung Internet Android ?
protocolChrome 完全対応 ありEdge ? Firefox 完全対応 ありIE ? Opera 完全対応 ありSafari ? WebView Android ? Chrome Android 完全対応 ありEdge Mobile ? Firefox Android 完全対応 ありOpera Android ? Safari iOS ? Samsung Internet Android ?
readyStateChrome 完全対応 ありEdge ? Firefox 完全対応 ありIE ? Opera 完全対応 ありSafari ? WebView Android ? Chrome Android 完全対応 ありEdge Mobile ? Firefox Android 完全対応 ありOpera Android ? Safari iOS ? Samsung Internet Android ?
sendChrome 完全対応 ありEdge ? Firefox 完全対応 18
補足
完全対応 18
補足
補足 See bug 775368.
未対応 11 — 18
補足
補足 Only parameter of type ArrayBuffer and String supported.
未対応 8 — 11
補足
補足 Only parameter of type String supported.
未対応 4 — 8
補足
補足 Only parameter of type String supported. Returns boolean.
IE ? Opera 完全対応 ありSafari ? WebView Android ? Chrome Android 完全対応 ありEdge Mobile ? Firefox Android 完全対応 ありOpera Android ? Safari iOS ? Samsung Internet Android ?
urlChrome 完全対応 ありEdge ? Firefox 完全対応 ありIE ? Opera 完全対応 ありSafari ? WebView Android ? Chrome Android 完全対応 ありEdge Mobile ? Firefox Android 完全対応 ありOpera Android ? Safari iOS ? Samsung Internet Android ?

凡例

完全対応  
完全対応
実装状況不明  
実装状況不明
実装ノートを参照してください。
実装ノートを参照してください。
使用するには、ベンダー接頭辞または異なる名前が必要です。
使用するには、ベンダー接頭辞または異なる名前が必要です。

関連項目

ドキュメントのタグと貢献者

このページの貢献者: tanaka0325, silverskyvicto, toVersus, shuuji3
最終更新者: tanaka0325,