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()
を呼び出すと、ブラウザーはデータを暗黙に破棄します。
構文
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.readyState
がCONNECTING
である場合に発生します。
仕様書
Specification |
---|
WebSockets Standard # ref-for-dom-websocket-send① |
ブラウザーの互換性
BCD tables only load in the browser