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
,则抛出此异常。
规范
规范 |
---|
WebSockets 标准 # ref-for-dom-websocket-send① |
浏览器兼容性
BCD 表格仅在启用 JavaScript 的浏览器中加载。