js連接mqtt
項(xiàng)目中要用到mqtt枚粘,前端調(diào)用拦键,使用github開源的paho-mqtt.js洲炊,api還是挺全面的炎辨,網(wǎng)上各種教程很全面,但是感覺代碼過于雜亂论颅,故而封裝的一下绞铃。仿jquery ajax調(diào)用方法镜雨。
首先本項(xiàng)目依賴 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(源代碼點(diǎn)擊查看)
3.開始調(diào)用初始化方法
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);
}
});
參數(shù)列表
參數(shù) | 是否必須 | 默認(rèn) | 說明 |
---|---|---|---|
id | 必須 | 0 | mqtt客戶端id |
ip | 必須 | 127.0.0.1 | mqtt服務(wù)端ip地址 |
port | 必須 | 61623 | mqtt服務(wù)端ws端口號(hào) |
success | 非必須 | 無 | 連接成功回調(diào) |
error | 非必須 | 無 | 連接失敗回調(diào) |
connectLost | 非必須 | 無 | 連接斷開回調(diào) |
onMessage | 非必須 | 無 | 消息通知 |
4.其他方法
1.訂閱主題
//訂閱主題
mqttX.subscribe(topic,[qos]);
參數(shù)列表
參數(shù) | 是否必須 | 默認(rèn) | 說明 |
---|---|---|---|
topic | 必須 | 無 | 主題 |
qos | 非必須 | 0 | 訂閱主題的qos |
返回類型:boolean
2.取消訂閱
//取消訂閱主題
mqttX.unsubscribe(topic);
參數(shù)列表
參數(shù) | 是否必須 | 默認(rèn) | 說明 |
---|---|---|---|
topic | 必須 | 無 | 主題 |
返回類型:boolean
3.重新連接
//重新連接
mqttX.reconnect();
參數(shù)列表
- 無參數(shù)
返回類型:boolean
4.發(fā)送消息
//發(fā)送消息
mqttX.sendMessage(topic,obj);
參數(shù)列表
參數(shù) | 是否必須 | 默認(rèn) | 說明 |
---|---|---|---|
topic | 必須 | 無 | 主題 |
obj | 必須 | 無 | 發(fā)送的信息 |
返回類型:boolean