WebSocket: send() メソッド
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.readyState
がCONNECTING
である場合に発生します。
仕様書
Specification |
---|
WebSockets Standard # ref-for-dom-websocket-send① |
ブラウザーの互換性
BCD tables only load in the browser