【🚀 websocket測試工具 - websocat 】快速上手 WebSocket 命令列工具教學 🎯

更新於 發佈於 閱讀時間約 5 分鐘
raw-image

不論是我們接案或者在公司進行專案開發時, 如果有機會接觸到Websocket相關的介接整合專案時, 首先我們會拿到一份對方提供的API文件, 這時候我們不可能一開始就一頭熱的栽入開發吧! 勢必要先測試一下API有沒有問題, 並且提出來與對方溝通討論, 確認沒問題之後再進行開發, 那這時候有一把趁手的工具就顯得非常重要了, 也是我們今天要跟大家介紹的一款websocket命令列工具, 就讓我們來看看如何使用吧!

簡介

websocat 是一款功能強大、輕量且好用的命令列 WebSocket 客戶端,像是 curl 一樣方便,但專門用來跟 WebSocket 伺服器溝通。它支援文字、二進位、串流等多種模式,適合用來測試、串流音訊、影像、或其他即時資料。

1️⃣ 安裝 websocat 🛠️

MacOS / Linux

  • MacOS (Homebrew):
bash
複製編輯
brew install websocat

  • Ubuntu/Debian (手動下載執行檔):
bash
複製編輯
wget <https://github.com/vi/websocat/releases/latest/download/websocat.x86_64-unknown-linux-gnu> -O websocat
chmod +x websocat
sudo mv websocat /usr/local/bin/

Windows

  1. 下載 Windows 版本執行檔:
    websocat Releases
  2. 放到系統 PATH 下,或使用完整路徑執行。

2️⃣ 基本連線測試 🔗

連到公開的 echo WebSocket 伺服器,測試傳送與回傳:

websocat ws://echo.websocket.org

3️⃣ 傳送二進位檔案(音檔串流)🎵

把檔案以二進位傳送給 WebSocket:

bash
複製編輯
websocat -b ws://your.websocket.server < audio.wav

  • b:二進位模式 (binary)
  • < audio.wav:將音訊檔內容讀入

4️⃣ 傳送文字訊息(例如 JSON)📝

一次性將整個文字檔案送出:

bash
複製編輯
websocat ws://your.websocket.server < message.json


5️⃣ 互動模式(手動輸入)⌨️

開啟連線,手動輸入訊息並即時看到回覆:

bash
複製編輯
websocat ws://your.websocket.server


6️⃣ 複雜應用:雙向串流與輸出 📥📤

把檔案內容送到 WebSocket,同時把伺服器回應輸出到檔案:

bash
複製編輯
cat audio.wav | websocat -b ws://your.websocket.server > response.log


7️⃣ 常用參數簡介 ⚙️

參數功能說明

-b

以二進位(binary)模式傳輸

-t

以文字(text)模式傳輸(預設)

-s

發送一次訊息後關閉連線

-E

一行一訊息模式,方便多條訊息處理

-v

顯示詳細除錯訊息


8️⃣ 進階:分段串流音訊檔 📦

把音訊檔切小塊逐段傳送,模擬即時串流:

bash
複製編輯
split -b 1024 audio.wav chunk_
for f in chunk_*; do
cat "$f" | websocat -b ws://your.websocket.server
done


🎉 結語

工欲善其事,必先利其器, 在我們執行一項重要任務之前, 有一把好的武器非常重要, 它可以讓我們的任務更加的順利進行, 也是我們在做任何事情需要思考的, 這邊我們就提供websocket開發需要的武器, 希望能帶給正在面臨開發任務的夥伴一點幫助, 也讓我們一起學習成長。

關於Websocket的系列文章也歡迎您閱讀:

留言
avatar-img
留言分享你的想法!
avatar-img
阿Han的沙龍
132會員
298內容數
哈囉,我是阿Han,是一位 👩‍💻 軟體研發工程師,喜歡閱讀、學習、撰寫文章及教學,擅長以圖代文,化繁為簡,除了幫助自己釐清思路之外,也希望藉由圖解的方式幫助大家共同學習,甚至手把手帶您設計出高品質的軟體產品。
阿Han的沙龍的其他內容
2025/07/23
你是不是跟我一樣:文章都寫在 Notion,結果每次要貼到方格子還要手動複製貼上、重新排版、上傳圖片……每次都貼到懷疑人生? 好消息來了!我們可以用 Python 一鍵把 Notion 文章自動貼到方格子草稿區,還能保留格式,貼完直接編輯、發佈,不再重複勞動, 讓我們專注在撰寫精選文章上, 發
Thumbnail
2025/07/23
你是不是跟我一樣:文章都寫在 Notion,結果每次要貼到方格子還要手動複製貼上、重新排版、上傳圖片……每次都貼到懷疑人生? 好消息來了!我們可以用 Python 一鍵把 Notion 文章自動貼到方格子草稿區,還能保留格式,貼完直接編輯、發佈,不再重複勞動, 讓我們專注在撰寫精選文章上, 發
Thumbnail
2025/02/26
cursor這個編輯器已經是軟體開發過程中必備的工具了, 有了AI的幫忙,讓我們的開發效率迅速提升, 但在Linux系統的安裝會稍微複雜一些, 因此我們就將我們安裝的過程進行整理與分享, 期望能幫上需要的朋友 😊。 下載安裝包 首先我們到官網 https://cursor.so 主畫面就會
Thumbnail
2025/02/26
cursor這個編輯器已經是軟體開發過程中必備的工具了, 有了AI的幫忙,讓我們的開發效率迅速提升, 但在Linux系統的安裝會稍微複雜一些, 因此我們就將我們安裝的過程進行整理與分享, 期望能幫上需要的朋友 😊。 下載安裝包 首先我們到官網 https://cursor.so 主畫面就會
Thumbnail
2023/08/03
Tmux對於常常在使用Linux或者Mac作業系統的朋友來說是一個非常方便的工具, 可以讓我們工作效率提升, 快速切換多個終端畫面進行多工處理, 但使用時難免遇到一些狀況跟需求, 而這次分享的主要是如何複製貼上, 相信這也是大部分使用者會遇到的情境, 因此進行經驗的分享與交流。 輸入指令的快捷
Thumbnail
2023/08/03
Tmux對於常常在使用Linux或者Mac作業系統的朋友來說是一個非常方便的工具, 可以讓我們工作效率提升, 快速切換多個終端畫面進行多工處理, 但使用時難免遇到一些狀況跟需求, 而這次分享的主要是如何複製貼上, 相信這也是大部分使用者會遇到的情境, 因此進行經驗的分享與交流。 輸入指令的快捷
Thumbnail
看更多
你可能也想看
Thumbnail
這篇文章介紹了網站的整體架構以及開發時所使用的工具和套件,包括 Next.js、Tailwind CSS 和 socket.io 等。文章回顧了程式碼的重構與優化,幫助開發者提高工作效率,適合希望深入瞭解前端開發和網站架構的讀者。
Thumbnail
這篇文章介紹了網站的整體架構以及開發時所使用的工具和套件,包括 Next.js、Tailwind CSS 和 socket.io 等。文章回顧了程式碼的重構與優化,幫助開發者提高工作效率,適合希望深入瞭解前端開發和網站架構的讀者。
Thumbnail
※ 什麼是Web API API 就是後端開出來讓前端來用的介面,讓前端與後端可以溝通。 API流程: 終端使用者用任何一種裝置進入瀏覽器。 瀏覽器透過 API 向後端發出請求,請求查詢或修改資料。 後端透過 API 收到前端的請求後,取得資料並回應給前端。 前端渲染畫面,終端使用者
Thumbnail
※ 什麼是Web API API 就是後端開出來讓前端來用的介面,讓前端與後端可以溝通。 API流程: 終端使用者用任何一種裝置進入瀏覽器。 瀏覽器透過 API 向後端發出請求,請求查詢或修改資料。 後端透過 API 收到前端的請求後,取得資料並回應給前端。 前端渲染畫面,終端使用者
Thumbnail
當我們架好站、WebService測試完,接著就是測試區域網路連線啦~
Thumbnail
當我們架好站、WebService測試完,接著就是測試區域網路連線啦~
Thumbnail
你好,在下最近在學習開發web,學了html css js,也得出一些心得,由於網路上已有許多教學,所以我會著重在如何開發出to do List,以及解釋我寫的程式碼。相關的教學我會直接貼網址。如果我有什麼地方出錯,或者是可以寫得更好,歡迎在下方留言,討論。 首先先介紹我的開發環境: 我用了vs
Thumbnail
你好,在下最近在學習開發web,學了html css js,也得出一些心得,由於網路上已有許多教學,所以我會著重在如何開發出to do List,以及解釋我寫的程式碼。相關的教學我會直接貼網址。如果我有什麼地方出錯,或者是可以寫得更好,歡迎在下方留言,討論。 首先先介紹我的開發環境: 我用了vs
Thumbnail
前面已經安裝好IIS後,並且也新建站台了,那麼接下來這篇就會分享如何使用它
Thumbnail
前面已經安裝好IIS後,並且也新建站台了,那麼接下來這篇就會分享如何使用它
Thumbnail
當我們在撰寫一套系統的時候, 總是會提供一個介面讓使用者來觸發功能模組並回傳使用者所需的請求, 而傳統的安裝包模式總是太侷限, 需要個別主機獨立安裝, 相當繁瑣, 但隨著時代的演進與互聯網的崛起, 大部分的工作都可以藉由網頁端、裝置端來觸發, 而伺服端則是負責接收指令、運算與回傳結果, 雲端
Thumbnail
當我們在撰寫一套系統的時候, 總是會提供一個介面讓使用者來觸發功能模組並回傳使用者所需的請求, 而傳統的安裝包模式總是太侷限, 需要個別主機獨立安裝, 相當繁瑣, 但隨著時代的演進與互聯網的崛起, 大部分的工作都可以藉由網頁端、裝置端來觸發, 而伺服端則是負責接收指令、運算與回傳結果, 雲端
Thumbnail
先前幾篇筆記介紹了網路請求,瀏覽器儲存資料的方式,那麼實務上,前端最常需要發送網路請求的時候,就是透過呼叫 API,去向後端工程師發送/請求資料,所以今天來記錄什麼是 API吧!
Thumbnail
先前幾篇筆記介紹了網路請求,瀏覽器儲存資料的方式,那麼實務上,前端最常需要發送網路請求的時候,就是透過呼叫 API,去向後端工程師發送/請求資料,所以今天來記錄什麼是 API吧!
追蹤感興趣的內容從 Google News 追蹤更多 vocus 的最新精選內容追蹤 Google News