2015-06-13 68 views
2

我只是mosquitto ANS MQTT协议 玩弄后的很不错的视频 https://www.youtube.com/watch?feature=player_embedded&v=WE7GVIFRV7QIOT Mosquitto MQTT如何在本地主机

试图在一个终端窗口,我来测试它在我的本地

测试运行:

mosquitto_sub -t "nodeconf/eu" -v 

但是当我运行这段代码:

var mqtt = require('mqtt'); 
var client = mqtt.connect(); 
client.on('connect', function() { 
    client.subscribe('nodeconf/eu'); 
    client.publish('nodeconf/eu','Hello'); 
}); 


client.on('message', function (topic, message) { 
    // message is Buffer 
    console.log(message.toString()); 
    client.end(); 
}); 

我没有看到(在我的终端窗口中)任何你好。

有什么不对吗?

顺便说一句 我也在寻找关于主题的好教程和指南谢谢。

+0

你是说你没有在mosquitto_sub窗口或nodejs窗口输出?如果它是nodejs,那么在发布完成后,您可能会附加on'message'侦听器。 – hardillb

+0

我没有在mosquitto_sub窗口中看到Hello消息。对不起,你给我举个例子吧? – Whisher

+0

现在已经设法让机器运行代码,它看起来很好,并按预期运行。我假设你有经纪人作为服务在你的机器上运行。我会在前台的终端中运行它,检查是否可以看到客户端连接。 – hardillb

回答

2

您必须将console.log添加到您的第二个(javascript)客户端,以了解为什么它不能正确发布Hello。

但是你可以做的mosquitto客户的典型测试:

1)订阅主题:

mosquitto_sub -d -h localhost -p 1883 -t "myfirst/test"

2)其他客户端发布的消息内容,以该主题:

mosquitto_pub -d -h localhost -p 1883 -t "myfirst/test" -m "Hello"

3)所有订阅的客户这个主题将部门自动化收到消息。