以下是解決方案及一些常見錯誤設定:

第一:MQTT 在 APP端 暫時不能使用mqtt協議 (mqtt://ip地址) 要改為:
H5端-websock協議 ws://ip地址:端口
APP端 及 微信端-websock協議 wx://ip地址:端口
如: wx://192.168.100.66:8080/

第二: broker 端為windows OS 情況下 (本人使用 Eclipse Mosquitto 下載地址為https://mosquitto.org/download/)
1.修改 MQTT 預設config: C:\Program Files\mosquitto\mosquitto.conf
增加以下幾行:
allow_anonymous true #允許匿名
port 1883 #mqtt端口
listener 8080 #websocket端口 大概意思是 端口轉發 由8080 轉做1883 以及由websocket協議轉做mqtt協議
protocol websockets #使用websocket端口
2.要打開[windows服務],詳細不說了
3.網絡防火牆最好關掉吧, 網絡點選在[專用]網絡 不要點選 [公用]網絡
4.uniapp 方面,要使用mqtt 3.0.0 : npm i mqtt@^3.0.0
最後吐槽一下windows 明明自己的問題,偏偏就幫你封這封那的,真心不好開發
可能還有其他的因素,導致連不上MQTT,就自行找一下原因了,或留言看一下有沒有大神可以幫到你.

最後修改日期: 2021 年 4 月 28 日

作者

留言

撰寫回覆或留言

發佈留言必須填寫的電子郵件地址不會公開。