我是靠谱客的博主 忧心裙子,最近开发中收集的这篇文章主要介绍Node.js连接MQTT服务器安装mqtt连接MQTT运行在express Web服务运行,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

安装mqtt

npm install mqtt -S

连接MQTT

创建WebsocketMqtt.js文件

const mqtt = require('mqtt')
var randomCount = Math.ceil(Math.random() * 9999) + "" + Date.parse(new Date());;
console.log(randomCount);
// 连接选项
const options = {
connectTimeout: 4000, // 超时时间
// 认证信息
// clientId: 'emqx-connect-via-websocket' + randomCount,
lientId: 'xxxxxx-user',
username: 'xxxx',
password: 'xxxxx',
}
var client;
client = mqtt.connect('ws://你的域名/mqtt', options);
client.on('reconnect', (error) => {
console.log('正在重连:', error)
})
client.on('error', (error) => {
console.log('连接失败:', error)
})
client.on('connect', (e) => {
console.log('成功连接服务器')
// 订阅主题 下面的#是订阅XXXXX下面的所有主题
client.subscribe('XXXXX/#', {
qos: 1
}, (error) => {
if (!error) {
console.log('订阅成功')
// client.publish('XXXX', 'Hello EMQ', {
//
qos: 1,
//
rein: false
// }, (error) => {
//
console.log(error || '发布成功')
// })
}
})
})
client.on('message', (topic, message) => {
console.log('收到来自', topic, '的消息', message.toString())
})
//发送信息到Mqtt
/*
jsonData:发送的数据
theme: 发送的主题
*/
var sendMqttMsg = function(theme, jsonData) {
client.publish(theme, JSON.stringify(jsonData), {
qos: 1,
rein: false
}, (error) => {
if(!error){
}
console.log(error || '发布成功')
})
}
module.exports = {
client: client,
sendMqttMsg: sendMqttMsg,
}

运行在express Web服务

如果不会创建express服务,请参考我的另一个博客 Node.js创建WEB服务(express)
创建index.js文件

var net = require('net');
var express = require('express');
var app = express();
var server = net.createServer()
var WebsocketMqtt = require('./WebsocketMqtt.js')
//与网页的连接
开始
var http = require("http").createServer(app)
app.all('*', function(req, res, next) {
// 解决跨域
res.header("Access-Control-Allow-Origin", "*");
res.header("Access-Control-Allow-Headers", "X-Requested-With");
res.header("Access-Control-Allow-Methods", "PUT,POST,GET,DELETE,OPTIONS");
res.header("X-Powered-By", ' 3.2.1')
res.header("Content-Type", "application/json;charset=utf-8");
next()
})
app.get('/index', function(req, res) {
console.log(555)
})
http.listen(8083, function() {
var host = http.address().address
var port = http.address().port
console.log("应用实例,访问地址为 https://%s:%s", host, port)
})
//与网页的连接
结束

运行

node index.js

最后

以上就是忧心裙子为你收集整理的Node.js连接MQTT服务器安装mqtt连接MQTT运行在express Web服务运行的全部内容,希望文章能够帮你解决Node.js连接MQTT服务器安装mqtt连接MQTT运行在express Web服务运行所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(53)

评论列表共有 0 条评论

立即
投稿
返回
顶部