js 连接mqtt

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

猜你喜欢

转载自www.cnblogs.com/xuhaoliang/p/10779757.html