Embedded C WebSocket 實踐測試

Avatar of 郭有迪.
Avatar of 郭有迪.

Embedded C WebSocket 實踐測試

Embedded Software Engineer
New Taipei City, Taiwan

嵌入式系統與 PC 後端伺服器Web Socket 通訊

使用Web Socket 的原因是因為有些環境下只會允許HTTP 通訊通過防火牆(?)

但是又不想要使用HTTP 的格式傳送資料很佔用通訊效能

啟動Web Socket 的 ASCII 封包格式:


GET ws://127.0.0.1:8000/ HTTP/1.1

Host: 127.0.0.1:8000

Connection: Upgrade

Upgrade: websocket

Sec-WebSocket-Version: 13

Sec-WebSocket-Key: Z2V2d3p3bmh5Znhia2xycQ==

Sec-WebSocket-Key 規定需要使用Base64 進行編碼,但是這個架構裡面用不到所以使用隨機生成的固定參數

https://onlineasciitools.com/generate-random-ascii

產生亂碼 ASCII

使用Base64 進行編碼

https://www.base64encode.org/

先使用Local Host Python 當作後端伺服器開發與使用TCP Test Tool 測試WebSocket

TCP Test Tool 當作Emedded Device 發送ASCII


Tool 傳送Web Socket PayLoad 示範:

81 81 28 38 b4 b2 60 (HEX)


之後PC 上面會除存PayLoad 的檔案,代表Web Socket 建立成功

Embedded C 搭配 Python PC 編寫程式能力示範
Avatar of the user.
Please login to comment.

Published: Aug 29th 2020
55
8
0

Tools

python
Python
c
C

ascii
webscoket

Share