什麼是WebSocket?

WebSocket是一種網路傳輸協定,用於瀏覽器與伺服器之間進行雙向數據傳輸的技術。通常運用在留言板、需要即時同步更新的畫面...等。與HTTP相同,皆位於OSI模型的應用層。而與HTTP不同的是,HTTP每一次的資料傳輸皆是採request-response的方式進行。而WebSocket則是只有第一次進行連結(握手階段)是採用HTTP協議的request-response方式進行。當連線建立後,則是使用雙向通訊的方式互動,示意圖如下。

https://s3-us-west-2.amazonaws.com/secure.notion-static.com/099d6ec5-c12e-4f4b-a848-143ebca4ecca/Untitled.png

WebSocket可以提供比HTTP更快的實時數據傳輸,而且不需要客戶端進行輪詢(polling),這樣可以減少伺服器的負載。WebSocket也支援跨域請求,因此可以在不同的網域之間進行數據傳輸。使用WebSocket,可以實現許多互動應用,例如網頁遙控器。 (取自Notion AI)

WebSocket跟AJAX有甚麼差別?

关于Ajax和websocket,你应该知道的事儿 | 人人都是产品经理

WebSocket比起AJAX更適合用於網頁遙控器,因為它提供更快的實時數據傳輸,不需要客戶端進行輪詢(polling),這樣可以減少伺服器的負載。

MicroBlock程式

WiFi及網頁顯示設定

Untitled

網頁回傳值的判斷並控制WS2812

Untitled

程式上傳後查看伺服器IP位置

Untitled

程式執行結果

用手機當WiFi熱點讓ESP32連接,並啟動瀏覽器,輸入前述IP位置,即可開始遙控,免安裝APP歐!!

https://www.facebook.com/jack.jean.79/videos/507281924810581

關鍵字

ESP32 NodeMCU EZ Start Kit WiFi WebSocket Server