WebSocket: send() メソッド

Baseline Widely available

This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.

WebSocket.send() メソッドは、 WebSocket 接続を介してサーバーに送るために指定されたデータを、格納するために必要なバイト数だけ bufferedAmount の値を増加させながらキューに入れます。もしデータが送信できなかった場合(例えば、バッファリングが必要だが、バッファが一杯であるなどの理由で)、ソケットは自動的に閉じられます。 接続が CONNECTING 状態のときに send() を呼び出すと、ブラウザーは例外を発生させます。接続が CLOSING または CLOSED の状態のときに send() を呼び出すと、ブラウザーはデータを暗黙に破棄します。

構文

js
send(data)

引数

data

サーバーに送信するデータです。以下の何れかの型のデータを指定します。

string

テキスト文字列。文字列は UTF-8 形式でバッファーに追加され、 bufferedAmount の値は UTF-8 の文字列を表すのに必要とされるバイト数だけ増えます。

ArrayBuffer

型付きの配列オブジェクトで使用される基本的なバイナリーデータを送信することができます。このバイナリーデータのコンテンツは,必要なバイト数だけ bufferedAmount の値を増やして、バッファーのキューに入れられます。

Blob

Blob を指定すると、バイナリーフレームで送信される blob の生データをキューに入れます(Blob.type は無視されます)。 bufferedAmount の値は、その生データのバイトサイズだけ増えます。

TypedArray または DataView

JavaScript の型付き配列オブジェクトをバイナリーフレームとして送信することができます。このバイナリーデータのコンテンツは,必要なバイト数だけ bufferedAmount の値を増やして、バッファのキューに入れられます。

返値

なし (undefined)。

例外

InvalidStateError DOMException

WebSocket.readyStateCONNECTING である場合に発生します。

仕様書

Specification
WebSockets Standard
# ref-for-dom-websocket-send①

ブラウザーの互換性

BCD tables only load in the browser