WebSocket.send()

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

構文

WebSocket.send("Hello server!");

引数

data
サーバーに送信するデータです。以下のいづれかのタイプのデータを指定します。
USVString
テキスト文字列。文字列は、UTF-8 形式でバッファに追加され、bufferedAmount の値は UTF-8 の文字列を表すのに必要とされるバイト数だけ増えます。
ArrayBuffer (en-US)
型付きの配列オブジェクトで使用される基本的なバイナリデータを送信することができます。このバイナリデータのコンテンツは,必要なバイト数だけ bufferedAmount の値を増やして、バッファのキューに入れられます。
Blob
Blob を指定すると、バイナリフレームで送信される blob の生データをキューに入れます。bufferedAmount の値は、その生データのバイトサイズだけ増えます。
ArrayBufferView (en-US)
JavaScriptで型付けされた配列オブジェクトをバイナリフレームとして送信することができます。このバイナリデータのコンテンツは,必要なバイト数だけ bufferedAmount の値を増やして、バッファのキューに入れられます。

投げられる例外

INVALID_STATE_ERR
接続が OPEN になっていない場合
SYNTAX_ERR
データが、ペアリングされていないサロゲートを持つ文字列の場合

注意: Gecko の send() メソッドの実装は、Gecko 6.0 の仕様とは多少異なります。 Geckoは、接続がまだ開いているかどうか(さらに、extension によって、データが正常にキューに入れられたか、もしくは送信されたかどうか)を示す boolean を返します。これは Gecko 8.0 で修正されています。

Gecko 11.0 では、ArrayBuffer のサポートは実装されていますが、Blob データ型はサポートされていません。

仕様書

仕様書 状態 備考
HTML Living Standard
WebSocket: send の定義
現行の標準 初回定義

ブラウザ互換性

BCD tables only load in the browser