node 搭建mqtt
时间: 2023-09-03 11:07:05 浏览: 44
要在 Node.js 中搭建 MQTT 服务器,可以使用 Mosca 库,它是一个开源的 MQTT 服务器实现。以下是一个简单的示例:
首先,使用 npm 安装 Mosca:
```
npm install mosca --save
```
然后在代码中引入 Mosca:
```javascript
var mosca = require('mosca');
```
接下来,创建一个 Mosca 服务器实例:
```javascript
var settings = {
port: 1883 // 设置服务器端口
};
var server = new mosca.Server(settings);
```
现在,你已经可以在指定的端口上启动服务器了:
```javascript
server.on('ready', function() {
console.log('MQTT server is up and running');
});
```
要监听客户端连接和断开事件,可以添加以下代码:
```javascript
server.on('clientConnected', function(client) {
console.log('Client connected:', client.id);
});
server.on('clientDisconnected', function(client) {
console.log('Client disconnected:', client.id);
});
```
现在,你已经可以使用 MQTT 客户端连接到服务器了。例如,使用 paho-mqtt 库:
```javascript
var mqtt = require('mqtt');
var client = mqtt.connect('mqtt://localhost:1883');
client.on('connect', function() {
console.log('Connected to MQTT server');
});
client.on('message', function(topic, message) {
console.log('Received message:', message.toString());
});
client.subscribe('test');
client.publish('test', 'Hello, MQTT!');
```
这是一个简单的示例,你可以自定义设置更多的选项,例如添加身份验证、使用 SSL、持久化存储等等。