用JavaScript实现MQTT订阅和发布

MQTT是一种非常便捷的传输协议,我们经常用来做后台消息推送和接收,有时候我们需要在网页上做消息的推送和接收,要怎么搞呢?今天我们就来学习一下如何在html页面中使用MQTT。


首先我们引用js文件

<script src="https://cdnjs.cloudflare.com/ajax/libs/paho-mqtt/1.0.1/mqttws31.js" type="text/javascript"></script>


var client;

var options = 
{
    timeout: 5,
    keepAliveInterval: 100,
    cleanSession: true,
    useSSL: false,
    userName: "MQTT账号",
    password: "MQTT密码",
    onSuccess: onConnect
};

client = new Paho.MQTT.Client("MQTT服务器IP或域名", MQTT服务器WebSocket端口号, MQTT客户端ID(最好加上时间戳,要不然后面运行的网页,如果使用相同的客户端ID,会把先运行的网页逼下线));
client.onConnectionLost = onConnectionLost;
client.onMessageArrived = onMessageArrived;
client.connect(options);

function onConnect()
{
    console.log("MQTT服务器连接成功!");

    client.subscribe("要订阅的主题);

    //向指定主题发布信息
    var message = new Paho.MQTT.Message("要发布的主题");
    message.destinationName = "要发布的消息内容";
    client.send(message);
}

function onConnectionLost(responseObject)
{
    if (responseObject.errorCode !== 0)
    {
        //如果两个网页使用了相同的客户端ID,那么先运行的网页会被后运行的网页挤下线,也会触发这个断开事件
        console.log("MQTT连接已断开:" + responseObject.errorMessage);
    }
}

function onMessageArrived(message)
{
    console.log("收到来自主题:" + message.destinationName + "的消息");
    console.log("收到的消息内容是:" + message.payloadString);
}

  1. 本网站所收集的部分资料来源于互联网,本站不对其真实性负责,也不构成任何其他建议。如果您发现有侵犯您权益的内容,请与我们取得联系,我们会及时修改或删除。
  2. 传递知识、传递力量,欢迎各位网友对本站的文章进行转载和分享。
  3. 本站QQ群交流群:904314688  群号:904314688
发表评论
 
评论列表(目前共有 条评论)
暂时还没有评论哦~

文章搜索

商家广告


版权所有:秋风雅居 (www.198933.com) ©2024 All Rights Reserved.

粤ICP备20031662号