From 218934fa2ed1c702a6d3923d2aa2cc6b43c48684 Mon Sep 17 00:00:00 2001 From: Peter Bengtsson Date: Tue, 8 Dec 2020 14:43:23 -0500 Subject: initial commit --- .../websockets_reference/closeevent/index.html | 145 +++++++++++ .../websockets/websockets_reference/index.html | 25 ++ .../websockets_reference/messageevent/index.html | 80 ++++++ .../websockets_reference/websocket/index.html | 276 +++++++++++++++++++++ 4 files changed, 526 insertions(+) create mode 100644 files/zh-tw/websockets/websockets_reference/closeevent/index.html create mode 100644 files/zh-tw/websockets/websockets_reference/index.html create mode 100644 files/zh-tw/websockets/websockets_reference/messageevent/index.html create mode 100644 files/zh-tw/websockets/websockets_reference/websocket/index.html (limited to 'files/zh-tw/websockets/websockets_reference') diff --git a/files/zh-tw/websockets/websockets_reference/closeevent/index.html b/files/zh-tw/websockets/websockets_reference/closeevent/index.html new file mode 100644 index 0000000000..0a6d0977ff --- /dev/null +++ b/files/zh-tw/websockets/websockets_reference/closeevent/index.html @@ -0,0 +1,145 @@ +--- +title: CloseEvent +slug: WebSockets/WebSockets_reference/CloseEvent +tags: + - WebSockets +translation_of: Web/API/CloseEvent +--- +

{{ draft() }}

+

當 WebSocket 連線關閉時,客戶端會收到一個 CloseEvent,由 WebSocket 物件 onclose 屬性表示的監聽器接收。

+

屬性

+ + + + + + + + + + + + + + + + + + + + + + + +
屬性形態描述
codeunsigned longWebSocket 伺服器給予的連線關閉代碼。「狀態代碼」列有所有可能值。
reason{{ domxref("DOMString") }}表示伺服器關閉連線的原因,這因不同的伺服器與子協定而定。
wasCleanboolean表示連線關閉情況是否乾淨。
+

狀態代碼

+

以下列有所有合法的狀態代碼。

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
狀態代碼描述
0-999尚未使用的保留值。
1000正常關閉,連線成功地達到建立時的目標。
1001端點去離,伺服器故障或是瀏覽器從開啟連線的頁面離去的情形。
1002因協定錯誤造成連線被端點消滅。
1003因端點接收不能處理的資料形態(舉例來說,文字端點收到二進制資料)而消滅連線。
1004端點收到過大的資料幀而消滅連線。
1005保留值。表示意外地未給予狀態代碼的情形。
1006保留值。用以表示在預期收到狀態代碼的情形下不正常(即未送關閉幀)的連線關閉。
1007-1999保留以作為未來的 WebSocket 標準之用。
2000-2999保留以作為 WebSocket 擴展之用。
3000-3999程式庫與框架使用的值,應用程式可不使用。
4000-4999應用程式使用的值。
+

參見

+ +

瀏覽器兼容

+

{{ CompatibilityTable() }}

+
+ + + + + + + + + + + + + + + + + + + +
功能ChromeFirefox (Gecko)Internet ExplorerOperaSafari
基本支援{{ CompatUnknown() }}{{ CompatNo() }}{{ CompatUnknown() }}{{ CompatUnknown() }}{{ CompatUnknown() }}
+
+
+ + + + + + + + + + + + + + + + + + + +
功能AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
基本支援{{ CompatUnknown() }}{{ CompatNo() }}{{ CompatUnknown() }}{{ CompatUnknown() }}{{ CompatUnknown() }}
+
+

Gecko 備註

+

此時此刻,Gecko 送至監聽器的 "close" 事件僅是簡單事件。

+

{{ languages ( {"en": "en/WebSockets/WebSockets_reference/CloseEvent"} ) }}

diff --git a/files/zh-tw/websockets/websockets_reference/index.html b/files/zh-tw/websockets/websockets_reference/index.html new file mode 100644 index 0000000000..19621bc3b2 --- /dev/null +++ b/files/zh-tw/websockets/websockets_reference/index.html @@ -0,0 +1,25 @@ +--- +title: WebSockets 參考 +slug: WebSockets/WebSockets_reference +tags: + - WebSockets +translation_of: Web/API/WebSockets_API +--- +

{{ draft() }}

+

下述文章是 WebSocket API 各介面的說明文件,本頁面為暫時的佔位文件。

+
+
+ WebSocket
+
+ 與 WebSocket 伺服器連接,傳送、接收資料的主介面。.
+
+ CloseEvent
+
+ 當連線關閉時 WebSocket 物件送出的事件。
+
+ MessageEvent
+
+ 當伺服器傳來資料時 WebSocket 物送送出的事件。
+
+

 

+

{{ languages ( {"en": "en/WebSockets/WebSockets_reference"} ) }}

diff --git a/files/zh-tw/websockets/websockets_reference/messageevent/index.html b/files/zh-tw/websockets/websockets_reference/messageevent/index.html new file mode 100644 index 0000000000..f5c0212f78 --- /dev/null +++ b/files/zh-tw/websockets/websockets_reference/messageevent/index.html @@ -0,0 +1,80 @@ +--- +title: MessageEvent +slug: WebSockets/WebSockets_reference/MessageEvent +tags: + - WebSockets +translation_of: Web/API/MessageEvent +--- +

{{ draft() }}

+

當伺服器傳來資料時,客戶端會收到一個 MessageEvent,由 WebSocket 物件 onmessage 表示的監聽器接收。

+

屬性

+ + + + + + + + + + + + + +
屬性形態描述
data{{ domxref("DOMString") }} | {{ domxref("Blob") }} | ArrayBuffer伺服器傳來的資料。
+

參見

+ +

瀏覽器兼容

+

{{ CompatibilityTable() }}

+
+ + + + + + + + + + + + + + + + + + + +
功能ChromeFirefox (Gecko)Internet ExplorerOperaSafari
基本支援{{ CompatUnknown() }}{{ CompatGeckoDesktop("2.0") }}{{ CompatUnknown() }}{{ CompatUnknown() }}{{ CompatUnknown() }}
+
+
+ + + + + + + + + + + + + + + + + + + +
FeatureAndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
基本支援{{ CompatUnknown() }}{{ CompatUnknown() }}{{ CompatUnknown() }}{{ CompatUnknown() }}{{ CompatUnknown() }}
+
+

Gecko 備註

+
+

{{ gecko_callout_heading("6.0") }}

+

此時此刻,Gecko 不支援 ArrayBuffer 或 {{ domxref("Blob") }} 作為 data

+
+

{{ languages ( {"en": "en/WebSockets/WebSockets_reference/MessageEvent"} ) }}

diff --git a/files/zh-tw/websockets/websockets_reference/websocket/index.html b/files/zh-tw/websockets/websockets_reference/websocket/index.html new file mode 100644 index 0000000000..8acd8d03d5 --- /dev/null +++ b/files/zh-tw/websockets/websockets_reference/websocket/index.html @@ -0,0 +1,276 @@ +--- +title: WebSocket +slug: WebSockets/WebSockets_reference/WebSocket +tags: + - WebSockets +translation_of: Web/API/WebSocket +--- +

{{ SeeCompatTable() }}

+ +

{{ draft() }}

+ +

WebSocket 物件提供了建立、管理 WebSocket 伺服器連線的 API,它也有在連線中傳送、接收資料的能力。

+ +

方法一覽

+ + + + + + + + + + +
void close(in optional unsigned long code, in optional DOMString reason);
void send(in DOMString data);
+ +

屬性

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
屬性形態描述
binaryType{{ DOMXref("DOMString") }}表示連線傳輸的二進制資料形態的字串,若使用 {{ domxref("Blob") }} 物件則為 "blob",使用 ArrayBuffer 物件則為 "arraybuffer"。
bufferedAmountunsigned long呼叫 {{ manch("send") }} 隊列但尚未傳輸至網路上資料的位元數。連線關閉時此值不會重設為零。連續呼叫 {{ manch("send") }} 會讓此值不斷上升。唯讀
extensions{{ DOMXref("DOMString") }}伺服器選擇的擴展。目前僅有空字串或表示資料經過壓縮的 "deflate-stream"。唯讀
onclose{{ domxref("EventListener") }}當 WebSocket 連線的 readyState 切換至 CLOSED 時呼叫的事件監聽器。監聽器接收命名為 "close" 的 CloseEvent
onerror{{ domxref("EventListener") }}當錯誤發生時呼叫的事件監聽器。事件為命名 "error" 的簡單事件。
onmessage{{ domxref("EventListener") }}當瀏覽器接收伺服器的訊息時呼叫的事件監聽器。監聽器接收命名為 "message" 的 MessageEvent
onopen{{ domxref("EventListener") }}當 WebSocket 連線的 readyState 切換至 OPEN 時呼叫的事件監聽器,表示連線已準備傳送、接收資料。事件為命名 "open" 的簡單事件。
protocol{{ DOMXref("DOMString") }}伺服器選擇的子協定,這是建立 WebSocket 物件時 protocols 參數裡的其中一個字串。
readyStateunsigned short連線的目前狀態,是就緒狀態常數的其中一個。唯讀
url{{ DOMXref("DOMString") }}建構方法解析出來的 URL,總是絕對 URL。唯讀
+ +

常數

+ +

就緒狀態常數

+ +

readyState 屬性使用以下常數描述 WebSocket 的連線狀態。

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
常數描述
CONNECTING0連線尚未打開。
OPEN1連線已打開,可以進行通訊。
CLOSING2連線正在進行關閉程序。
CLOSED3連線已關閉/連線不能打開。
+ +

方法

+ +

close()

+ +

關閉 WebSocket 連線/連線嘗試,若連線已為 CLOSED,此方法沒有作用。

+ +
void close(
+  in optional unsigned short code,
+  in optional DOMString reason
+);
+
+ +
參數
+ +
+
code {{ optional_inline() }}
+
表示狀態代碼,狀態代碼用以解釋連線關閉的原因。若未指定參數,預設值為 1000(表示正常的「事務完結(transaction complete)」關閉)。請參考 CloseEvent 頁面的狀態代碼列表,有所有的合法值。
+
reason {{ optional_inline() }}
+
解釋連線關閉原因的人類可讀字串,字串必不可大於 123 個 UTF-8 字符。
+
+ +
可丟例外
+ +
+
INVALID_ACCESS_ERR
+
指定不合法的 code
+
SYNTAX_ERR
+
reason 字串太長或是含有未配對的代理對。
+
+ +

send()

+ +

透過 WebSocket 連線傳輸資料至伺服器。

+ +
void send(
+  in DOMString data
+);
+
+void send(
+  in ArrayBuffer data
+);
+
+void send(
+  in Blob data
+);
+
+ +
參數
+ +
+
data
+
要傳送至伺服器的字串。
+
+ +
可丟例外
+ +
+
INVALID_STATE_ERR
+
目前連線不為 OPEN
+
SYNTAX_ERR
+
資料為帶有未配對代理對的字串。
+
+ +
註釋
+ +
+

{{ gecko_callout_heading("6.0") }}

+ +

Gecko send() 方法的實作與 Gecko 6.0 的規範有差別。Gecko 回傳一個 boolean 以表示連線是否仍處於開啟狀態(且資料成功隊列/傳輸)。另外,此時此刻,Gecko 不支援 ArrayBuffer 或 {{ domxref("Blob") }} 作為資料形態。

+
+ +

參見

+ + + +

瀏覽器兼容

+ +

{{ CompatibilityTable() }}

+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + +
功能ChromeFirefox (Gecko)Internet ExplorerOperaSafari
基本支援{{ CompatUnknown() }}{{ CompatGeckoDesktop("2.0") }}{{ CompatUnknown() }}{{ CompatUnknown() }}{{ CompatUnknown() }}
子協定支援{{ CompatUnknown() }}{{ CompatGeckoDesktop("6.0") }}{{ CompatUnknown() }}{{ CompatUnknown() }}{{ CompatUnknown() }}
+
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + +
功能AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
基本支援{{ CompatUnknown() }}{{ CompatGeckoMobile("7.0") }}{{ CompatUnknown() }}{{ CompatUnknown() }}{{ CompatUnknown() }}
子協定支援{{ CompatUnknown() }}{{ CompatGeckoMobile("7.0") }}{{ CompatUnknown() }}{{ CompatUnknown() }}{{ CompatUnknown() }}
+
+ +

Gecko 備註

+ +

自從 Gecko 6.0,建構方法有前輟,須使用 MozWebSocket()

+ +
var mySocket = new MozWebSocket("http://www.example.com/socketserver");
+
+ +

{{ languages ( {"en": "en/WebSockets/WebSockets_reference/WebSocket"} ) }}

-- cgit v1.2.3-54-g00ecf