1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 | 這段 JavaScript 程式碼是在建立一個 MQTT 連線。讓我逐一解釋各個部分: **主要功能:** `mqtt.connect()` 是用來連接到 MQTT broker(訊息代理伺服器)的函數。 **參數說明:** 1. **`brokerUrl`** - MQTT broker 的網址(例如:`mqtt://localhost:1883` 或 `ws://broker.example.com:8083`) 2. **連線選項物件:** - **`clientId`** - 客戶端識別碼 - `'lock_control_'` 是固定前綴 - `Math.random().toString(16).substr(2, 8)` 產生一個 8 位隨機十六進位字串 - 完整範例:`lock_control_a3f5b2c8` - 用途:確保每個連線都有唯一的 ID - **`clean: true`** - 清潔會話模式 - 連線時清除之前的會話狀態 - 斷線後不保留未送達的訊息 - **`connectTimeout: 4000`** - 連線逾時時間(毫秒) - 4 秒內如果無法連上就視為連線失敗 - **`reconnectPeriod: 1000`** - 重連間隔時間(毫秒) - 斷線後每 1 秒嘗試重新連線一次 **使用情境:** 從命名 `lock_control_` 來看,這很可能是用於智慧門鎖或類似的 IoT 設備控制系統,透過 MQTT 協定來傳送控制指令或接收狀態更新。 |
Direct link: https://paste.plurk.com/show/wM8cNhpV48Zk2jFrH7IU