这个错误通常是由于 Mosquitto 服务器未运行或未正确配置所导致的。以下是几种可能的解决方法。
$ systemctl status mosquitto
如果服务器未运行,则需启动它:
$ sudo systemctl start mosquitto
检查 Mosquitto 服务器的配置文件是否正确。配置文件通常位于 /etc/mosquitto/mosquitto.conf
或 /etc/mosquitto/conf.d/
目录下。确保配置文件中的监听地址和端口与代码中的连接地址和端口一致。
确保防火墙或网络安全组没有阻止对 MQTT 服务器端口的访问。默认情况下,Mosquitto 使用 1883 端口进行通信。您可以通过检查防火墙规则或联系网络管理员来验证是否存在此类问题。
下面是一个使用 MQTT.js 连接到本地 Mosquitto 服务器的示例代码:
const mqtt = require('mqtt');
const client = mqtt.connect('mqtt://localhost:1883');
client.on('connect', function() {
console.log('Connected to MQTT broker');
});
client.on('error', function(error) {
console.error('Failed to connect:', error);
});
请确保您的代码中的连接地址和端口与 Mosquitto 服务器配置一致,以及确保 Mosquitto 服务器正在运行并监听正确的地址和端口。