0%

js操作MQTT

文章字数:225,阅读全文大约需要1分钟

MQTT是一个基于发布/订阅模式的消息协议,专门为硬件性能低下且网络状况糟糕情况设计的。消息轻量级,可以根据设置保证消息一定到达。实现MQTT的中间件有很多,本文采用activeMQ

环境

  1. 页面引入mqttws31.min.js即可
  2. 下载并开启activeMQ,设置好MQTT

使用

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
// 1. 创建连接
var mqttHost = "127.0.0.1"; // mqtt服务地址
var port = 8083;
var clientId = "test123";
client = new Paho.MQTT.Client(mqttHost, port , clientId );
client.connect({
//连接服务器并注册连接成功处理事件
onSuccess: onConnect,
cleanSession:false,
useSSL:false,
// 心跳
keepAliveInterval:200,
timeout:5,
//userName:"ss",
//password:"xxx",
});
// 连接成功就订阅主题
function onConnect() {
//订阅主题
client.subscribe("topic-name");
}

client.onConnectionLost = function (responseObject) {
if(responseObject.errorCode !== 0) {
console.log("连接已断开");
}
}

client.onMessageArrived = function (message) {
var ss = message.destinationName;
var meg = message.payloadString;
console.log("收到新消息:" + meg);
}

// 推送信息给指定主题
function sendMess(messStr) {
if(client.isConnected()){
var message = new Paho.MQTT.Message(messStr);
// 推送给主题
message.destinationName = "topic-name1";
client.send(message);
}
}