blob: a2f17d7c366269ebf36f394344432ec34c3022df (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
|
---
title: WebSocket.send()
slug: Web/API/WebSocket/send
translation_of: Web/API/WebSocket/send
---
<p>{{APIRef("Web Sockets API")}}</p>
<p><strong><code>WebSocket.send()</code></strong> は WebSocket 接続を介してサーバーに送るために指定されたデータを、格納するために必要なバイト数だけ <code>bufferedAmount</code> の値を増加させながら、キューに入れるメソッドです。もしデータが送信できなかった場合(例えば、バッファリングが必要ですが、バッファが一杯であるなどの理由で)、ソケットは自動的に閉じられます。</p>
<h2 id="構文">構文</h2>
<pre class="syntaxbox notranslate">WebSocket.send("Hello server!");</pre>
<h3 id="引数">引数</h3>
<dl>
<dt><code>data</code></dt>
<dd>サーバーに送信するデータです。以下のいづれかのタイプのデータを指定します。</dd>
<dd>
<dl>
<dt>{{domxref("USVString")}}</dt>
<dd>テキスト文字列。文字列は、UTF-8 形式でバッファに追加され、<code>bufferedAmount</code> の値は UTF-8 の文字列を表すのに必要とされるバイト数だけ増えます。</dd>
<dt>{{domxref("ArrayBuffer")}}</dt>
<dd>型付きの配列オブジェクトで使用される基本的なバイナリデータを送信することができます。このバイナリデータのコンテンツは,必要なバイト数だけ <code>bufferedAmount</code> の値を増やして、バッファのキューに入れられます。</dd>
<dt>{{domxref("Blob")}}</dt>
<dd>Blob を指定すると、バイナリフレームで送信される blob の生データをキューに入れます。<code>bufferedAmount</code> の値は、その生データのバイトサイズだけ増えます。</dd>
<dt>{{domxref("ArrayBufferView")}}</dt>
<dd><a href="/ja/docs/Web/JavaScript/Typed_arrays">JavaScriptで型付けされた配列</a>オブジェクトをバイナリフレームとして送信することができます。このバイナリデータのコンテンツは,必要なバイト数だけ <code>bufferedAmount</code> の値を増やして、バッファのキューに入れられます。</dd>
</dl>
</dd>
</dl>
<h3 id="投げられる例外">投げられる例外</h3>
<dl>
<dt><code>INVALID_STATE_ERR</code></dt>
<dd>接続が <code>OPEN</code> になっていない場合</dd>
<dt><code>SYNTAX_ERR</code></dt>
<dd>データが、ペアリングされていないサロゲートを持つ文字列の場合</dd>
</dl>
<div class="note">
<p><strong>注意:</strong> Gecko の <code>send()</code> メソッドの実装は、{{Gecko("6.0")}} の仕様とは多少異なります。 Geckoは、接続がまだ開いているかどうか(さらに、extension によって、データが正常にキューに入れられたか、もしくは送信されたかどうか)を示す <code>boolean</code> を返します。これは {{Gecko("8.0")}} で修正されています。</p>
<p>{{Gecko("11.0")}} では、{{jsxref("ArrayBuffer")}} のサポートは実装されていますが、{{domxref("Blob")}} データ型はサポートされていません。</p>
</div>
<h2 id="仕様書">仕様書</h2>
<table class="standard-table">
<thead>
<tr>
<th scope="col">仕様書</th>
<th scope="col">状態</th>
<th scope="col">備考</th>
</tr>
</thead>
<tbody>
<tr>
<td>{{SpecName('HTML WHATWG', '#dom-websocket-send', 'WebSocket: send')}}</td>
<td>{{Spec2('HTML WHATWG')}}</td>
<td>初回定義</td>
</tr>
</tbody>
</table>
<h2 id="ブラウザ互換性">ブラウザ互換性</h2>
<p>{{Compat("api.WebSocket.send")}}</p>
|