js 连接mqtt
Posted xuhaoliang
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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
以上是关于js 连接mqtt的主要内容,如果未能解决你的问题,请参考以下文章
基于node.js搭建简单的MQTT服务器,手机通过热点连接电脑实现MQTT服务器测试
使用 Paho MQTT Js 成功连接到 Mosquitto 代理后突然断开连接