js連接mqtt
項目中要用到mqtt,前端調用,使用github開源的paho-mqtt.js,api還是挺全面的,網上各種教程很全面,但是感覺代碼過于雜亂,故而封裝的一下。仿jquery ajax調用方法。
首先本項目依賴 paho-mqtt.js
1.引用paho-mqtt.js
<script src="https://cdnjs.cloudflare.com/ajax/libs/paho-mqtt/1.0.1/mqttws31.js" type="text/javascript"></script>
2.引用封裝的 MqttX.js(源代碼點擊查看)
3.開始調用初始化方法
mqttX.init({
id:'10',
ip:'ip地址',
port:61623,
success:function(){
console.log("mqttx連接成功");
mqttX.subscribe('vp1');
},
error:function(){
console.log("mqttx連接失敗");
},
connectLost:function(){
console.log("mqttx連接丟失");
},
onMessage:function(message){
console.log("mqttx",message);
}
});
參數列表
參數 | 是否必須 | 默認 | 說明 |
---|---|---|---|
id | 必須 | 0 | mqtt客戶端id |
ip | 必須 | 127.0.0.1 | mqtt服務端ip地址 |
port | 必須 | 61623 | mqtt服務端ws端口號 |
success | 非必須 | 無 | 連接成功回調 |
error | 非必須 | 無 | 連接失敗回調 |
connectLost | 非必須 | 無 | 連接斷開回調 |
onMessage | 非必須 | 無 | 消息通知 |
4.其他方法
1.訂閱主題
//訂閱主題
mqttX.subscribe(topic,[qos]);
參數列表
參數 | 是否必須 | 默認 | 說明 |
---|---|---|---|
topic | 必須 | 無 | 主題 |
qos | 非必須 | 0 | 訂閱主題的qos |
返回類型:boolean
2.取消訂閱
//取消訂閱主題
mqttX.unsubscribe(topic);
參數列表
參數 | 是否必須 | 默認 | 說明 |
---|---|---|---|
topic | 必須 | 無 | 主題 |
返回類型:boolean
3.重新連接
//重新連接
mqttX.reconnect();
參數列表
- 無參數
返回類型:boolean
4.發送消息
//發送消息
mqttX.sendMessage(topic,obj);
參數列表
參數 | 是否必須 | 默認 | 說明 |
---|---|---|---|
topic | 必須 | 無 | 主題 |
obj | 必須 | 無 | 發送的信息 |
返回類型:boolean