【发布时间】:2016-02-11 18:57:06
【问题描述】:
我在尝试使用NODEJS 连接到MQTT 服务器时遇到了一个奇怪的问题:
如果我连接到MQTT 服务器并且我没有得到连接,它就会挂起。
如果我使用命令行执行此操作,我会看到数据,因此网络、服务器等都很好。
如果我使用了错误的端口,那么命令行会给我一个有效的拒绝消息,但 NODE 只是挂起。
命令行是:
mosquitto_sub -h 10.10.10.30 -p 1883 -t sim
我的代码完全是基本的:
var mqtt = require('mqtt');
var MQTT_TOPIC = "sim";
var MQTT_ADDR = "10.10.10.30";
var MQTT_PORT = 1883;
var client = mqtt.connect({host: MQTT_ADDR, port : MQTT_PORT, debug: true});
client.on('connect', function() {
console.log('Connected');
client.subscribe(MQTT_TOPIC, function() {
client.on('message', function(topic, message, packet) {
console.log(topic + ": '" + message);
});
});
});
【问题讨论】:
-
你运行的是什么版本的 mosquitto?
-
遇到了同样的问题。在使用 mosquitto_sub 时有效,但在 nodejs 中实现订阅者时无效。