--- title: WebSockets slug: WebSockets tags: - WebSockets translation_of: Web/API/WebSockets_API ---

{{ SeeCompatTable() }}

WebSocket 是一種讓瀏覽器與伺服器進行一段互動通訊的技術。這個 API 在不必輪詢(poll)伺服器下,讓使用者傳送訊息至伺服器並接受事件驅動回應。

文件

製作 WebSocket 客戶端應用程式
指導如何製作在瀏覽器上跑 WebSocket 客戶端的教程。
WebSockets 參考手冊
客戶端的 WebSocket API 參考手冊。
The WebSocket protocol
WebSocket 協定參考。
Writing WebSocket servers
處理 WebSocket 協定的伺服器端代碼書寫指引。

所有文件...

工具

 

AJAXJavaScript

參見

瀏覽器兼容

{{ CompatibilityTable() }}

功能 Chrome Firefox (Gecko) Internet Explorer Opera Safari
版本 -76 {{ obsolete_inline() }} 6 {{ CompatGeckoDesktop("2.0") }} {{ CompatNo() }} 11.00 (禁用) 5.0.1
協定版本 7 {{ CompatNo() }}

{{ CompatGeckoDesktop("6.0") }}

請用 MozWebSocket
{{ CompatNo() }} {{ CompatNo() }} {{ CompatNo() }}
協定版本 10 14

{{ CompatGeckoDesktop("7.0") }}

請用 MozWebSocket
HTML5 Labs {{ CompatUnknown() }} {{ CompatUnknown() }}
功能 Android Firefox Mobile (Gecko) IE Mobile Opera Mobile Safari Mobile
版本 -76 {{ obsolete_inline() }} {{ CompatUnknown() }} {{ CompatUnknown() }} {{ CompatUnknown() }} {{ CompatUnknown() }} {{ CompatUnknown() }}
協定版本 7 {{ CompatUnknown() }} {{ CompatUnknown() }} {{ CompatUnknown() }} {{ CompatUnknown() }} {{ CompatUnknown() }}
協定版本 8 (IETF 草案 10) {{ CompatUnknown() }} {{ CompatGeckoMobile("7.0") }} {{ CompatUnknown() }} {{ CompatUnknown() }} {{ CompatUnknown() }}

Gecko 附註

Firefox 的 WebSockets 支援正在持續追蹤發展中的 WebSocket 規範。Firefox 6 實作底層協定版號 7,Firefox 7 實作協定版號 8(IETF 草案 10 的內容)。Firefox mobile 在 7.0 版支援 WebSocket。

{{ gecko_callout_heading("6.0") }}

Gecko 6.0 {{ geckoRelease("6.0") }} 之前,不該存在的 WebSocket 物件使得某些開發者認為 WebSocket 服務沒有前輟,此物件已被更名為 MozWebSocket

{{ gecko_callout_heading("7.0") }}

自從 Gecko 7.0 {{ geckoRelease("7.0") }},偏好設定 network.websocket.max-connections 可以用來設定 WebSocket 連線同時開啟的最大個數。預設值為 200。

警告:雖然不是唯一的理由,但是目前 WebSockets 被 Firefox 4 與 5 禁用的關鍵原因是一個協定設計上的安全問題,因此不建議在生產環境下使用這些 Firefox 版本的 WebSockets。若仍想測試 WebSockets,你可以開啟 about:config 並設定 network.websocket.enabled 的取值至 true,並需要同時設定 network.websocket.override-security-block 的取值至 true 才能允許 WebSocket 連線的初始化。

{{ HTML5ArticleTOC() }}

{{ languages ( {"en": "en/WebSockets", "es": "es/WebSockets"} ) }}