WebSocket: send() 方法

Baseline 已廣泛支援

此特性已相當成熟,可在許多裝置和瀏覽器版本上使用。自 ⁨2015 年 7 月⁩以來,各瀏覽器均已提供此特性。

注意:此功能在 Web Workers 中可用。

WebSocket.send() 方法會將指定的資料排入佇列,透過 WebSocket 連線傳輸到伺服器,並按包含該資料所需的位元組數增加 bufferedAmount 的值。如果資料無法傳送(例如,因為它需要緩衝但緩衝區已滿),則套接字會自動關閉。如果在 CONNECTING 狀態下呼叫 send(),瀏覽器將丟擲異常。如果在 CLOSINGCLOSED 狀態下呼叫 send(),瀏覽器將靜默丟棄資料。

語法

js
send(data)

引數

data

要傳送到伺服器的資料。它可以是以下型別之一

string

文字字串。字串以 UTF-8 格式新增到緩衝區,bufferedAmount 的值會增加表示 UTF-8 字串所需的位元組數。

ArrayBuffer

您可以傳送型別化陣列物件使用的底層二進位制資料;其二進位制資料內容會被排入緩衝區,並按所需位元組數增加 bufferedAmount 的值。

Blob

指定 Blob 會將 Blob 的原始資料排入佇列,以便在二進位制幀中傳輸(Blob.type 會被忽略)。bufferedAmount 的值會增加該原始資料的位元組大小。

TypedArrayDataView

您可以將任何 JavaScript 型別化陣列 物件作為二進位制幀傳送;其二進位制資料內容會被排入緩衝區,並按所需位元組數增加 bufferedAmount 的值。

返回值

無(undefined)。

異常

InvalidStateError DOMException

WebSocket.readyStateCONNECTING 時丟擲。

規範

規範
WebSocket
# ref-for-dom-websocket-send①

瀏覽器相容性