aboutsummaryrefslogtreecommitdiff
path: root/files/zh-cn/web/api/websocket/send
diff options
context:
space:
mode:
authorPeter Bengtsson <mail@peterbe.com>2020-12-08 14:40:17 -0500
committerPeter Bengtsson <mail@peterbe.com>2020-12-08 14:40:17 -0500
commit33058f2b292b3a581333bdfb21b8f671898c5060 (patch)
tree51c3e392513ec574331b2d3f85c394445ea803c6 /files/zh-cn/web/api/websocket/send
parent8b66d724f7caf0157093fb09cfec8fbd0c6ad50a (diff)
downloadtranslated-content-33058f2b292b3a581333bdfb21b8f671898c5060.tar.gz
translated-content-33058f2b292b3a581333bdfb21b8f671898c5060.tar.bz2
translated-content-33058f2b292b3a581333bdfb21b8f671898c5060.zip
initial commit
Diffstat (limited to 'files/zh-cn/web/api/websocket/send')
-rw-r--r--files/zh-cn/web/api/websocket/send/index.html78
1 files changed, 78 insertions, 0 deletions
diff --git a/files/zh-cn/web/api/websocket/send/index.html b/files/zh-cn/web/api/websocket/send/index.html
new file mode 100644
index 0000000000..495da7a3e8
--- /dev/null
+++ b/files/zh-cn/web/api/websocket/send/index.html
@@ -0,0 +1,78 @@
+---
+title: WebSocket.send()
+slug: Web/API/WebSocket/send
+tags:
+ - API
+ - Web API
+ - WebSocket
+ - 引用
+ - 方法
+translation_of: Web/API/WebSocket/send
+---
+<p>{{APIRef("Web Sockets API")}}</p>
+
+
+
+<p> <strong><code>WebSocket.send()</code></strong> 方法将需要通过 WebSocket 链接传输至服务器的数据排入队列,并根据所需要传输的data bytes的大小来增加 <code>bufferedAmount</code>的值 。若数据无法传输(例如数据需要缓存而缓冲区已满)时,套接字会自行关闭。</p>
+
+<h2 id="语法">语法</h2>
+
+<pre class="syntaxbox">WebSocket.send("Hello server!");</pre>
+
+<h3 id="参数">参数</h3>
+
+<dl>
+ <dt><code>data</code></dt>
+ <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><code>Blob</code> 类型将队列 blob 中的原始数据以二进制中传输。 <code>bufferedAmount</code> 将加上原始数据的字节数的值。</dd>
+ <dt>{{domxref("ArrayBufferView")}}</dt>
+ <dd>您可以以二进制帧的形式发送任何 <a href="/zh-CN/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>数据是一个包含未配对代理(unpaired surrogates)的字符串。</dd>
+</dl>
+
+<div class="note">
+<p><strong>Note:</strong> Gecko在{{Gecko("6.0")}}中对 <code>send()</code> 方法的实现与规范有些不一致; Gecko 返回一个<code>boolean</code> 来告知当前连接是否依旧处于<code>OPEN </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>