js实现mqtt
使用 JavaScript 实现 MQTT
安装 MQTT 客户端库
在项目中安装 mqtt 库,可以通过 npm 或 yarn 完成:
npm install mqtt
# 或
yarn add mqtt
连接到 MQTT 代理
引入 mqtt 库并建立连接:
const mqtt = require('mqtt');
const client = mqtt.connect('mqtt://test.mosquitto.org');
client.on('connect', () => {
console.log('Connected to MQTT broker');
});
订阅主题
连接成功后订阅指定主题:
client.subscribe('topic/test', (err) => {
if (!err) console.log('Subscribed to topic/test');
});
发布消息
向指定主题发布消息:
client.publish('topic/test', 'Hello MQTT');
接收消息
监听并处理接收到的消息:
client.on('message', (topic, message) => {
console.log(`Received message on ${topic}: ${message.toString()}`);
});
断开连接
在适当的时候断开连接:
client.end();
完整示例代码
以下是一个完整的 MQTT 客户端实现示例:
const mqtt = require('mqtt');
const client = mqtt.connect('mqtt://test.mosquitto.org');
client.on('connect', () => {
console.log('Connected to MQTT broker');
client.subscribe('topic/test');
client.publish('topic/test', 'Hello MQTT');
});
client.on('message', (topic, message) => {
console.log(`Received message on ${topic}: ${message.toString()}`);
});
client.on('error', (err) => {
console.error('MQTT error:', err);
});
注意事项
- 确保 MQTT 代理地址正确且可访问。
- 处理连接错误和消息接收异常。
- 在生产环境中使用 TLS/SSL 加密连接以提高安全性。
浏览器端实现
若需在浏览器中使用 MQTT,可通过 CDN 引入 mqtt.js:

<script src="https://unpkg.com/mqtt/dist/mqtt.min.js"></script>
<script>
const client = mqtt.connect('wss://test.mosquitto.org:8081');
// 其余逻辑与 Node.js 类似
</script>






