WebSocket 測試器 / 客戶端

連線到任意 ws:// 或 wss:// 端點,宣告可選的子協議,傳送文本或 JSON 訊息,並檢視完整生命週期日誌:ready-state 變化、關閉碼與原因,以及每條訊息的方向、時間和載荷。全部用瀏覽器原生 WebSocket API 在本地執行 — 不經任何伺服器中轉。普通 HTTP 介面請用 REST API 客戶端 / 測試器;檢視全部 API 工具 家族。
已關閉 連線建立後傳送歡迎 JSON
訊息日誌 0 個事件
還沒有內容。連線伺服器即可開始。
需要了解的瀏覽器 WebSocket 限制:請求頭無法自定義(只會傳送 Cookie 與上面的 Sec-WebSocket-Protocol 子協議);握手不受 CORS 約束,但頁面的 Content-Security-Policy connect-src 可以阻止它;安全(https)頁面只能開啟 wss://;JavaScript 無法傳送協議級 ping 幀(瀏覽器會自動應答伺服器的 ping — 請用 {"type":"ping"} 之類的應用層訊息模擬心跳);自簽名證書不被信任。本地測試建議:執行自己的伺服器,或使用 wss://ws.postman-echo.com/raw、wss://echo.websocket.org 這類公共回顯服務。
WebSocket 是什麼
WebSocket 在瀏覽器與伺服器之間提供雙向、持久的訊息通道。與 HTTP 不同,訊息可以在同一條連線上雙向傳輸。
ws:// 與 wss:// 的區別!@#$%…ws://不加密(類似http://); wss://加密(類似https://)。如果本頁通過 HTTPS 提供,瀏覽器只允許wss://連線。從本地檔案(file://)開啟時兩種協議都允許,但許多公共回顯伺服器(包括 echo.websocket.org)只接受wss://.
子協議 — 可選的逗號分隔列表對映到 Sec-WebSocket-Protocol 握手頭。伺服器必須支援其中之一,否則瀏覽器拒絕連線。
為什麼“連線”完成了,卻沒有出現“傳送訊息”輸入框?只有狀態變為 已連線 時傳送表單才出現。如果伺服器中斷握手,您會先看到一個 error 事件,隨後是 已關閉 碼 1006(異常關閉 — 沒有收到關閉幀)。常見原因:對只接受 wss:// 的伺服器用了 ws://、主機或埠寫錯、子協議不匹配,或伺服器已離線。
您可能看到的關閉碼 — 1000 正常;1001 瀏覽器標籤頁關閉;1006 異常 / 握手失敗;1009 訊息過大;1011 伺服器錯誤。日誌會自動顯示程式碼和簡短原因。
連線失敗排查:先把協議換成 wss://,確認主機可達,清掉不需要的子協議,並在瀏覽器控制台檢查 TLS 或混合內容錯誤。