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:'47.92.127.210', ???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.取消订阅
//取消订阅主题mattX.unsubscribe(topic);
参数列表
参数 | 是否必须 | 默认 | 说明 |
---|---|---|---|
topic | 必须 | 无 | 主题 |
返回类型:boolean
3.重新连接
//重新连接mattx.reconnect();
参数列表
- 无参数
返回类型:boolean
4.发送消息
//发送消息mattx.sendMessage(topic,obj);
参数列表
参数 | 是否必须 | 默认 | 说明 |
---|---|---|---|
topic | 必须 | 无 | 主题 |
obj | 必须 | 无 | 发送的信息 |
返回类型:boolean
js 连接mqtt
原文地址:https://www.cnblogs.com/xuhaoliang/p/10779757.html