未从Paho客户端的MQTT代理发送消息

时间:2015-05-19 10:27:25

标签: mqtt paho moquette

我已经设置了一个Moquette MQTT代理并将其与eclipse Paho客户端连接(我将称之为paho1)。订阅in/#主题。

我创建了另一个Paho客户端(我将称之为paho2),当然使用不同的客户端ID,并将其发布到具有in/device主题的代理。

首先,数据包已成功发送。但是,当我断开paho2并重新连接到代理并发送相同的数据包时,它不会传递给paho1

我想知道为什么会这样。我对Paho客户端的设置是qos = 0(我也试过了1和2)。

MqttConnectOptions connOpts = new MqttConnectOptions();
connOpts.setCleanSession(false);

我正在查看经纪人的日志,结果如下。成功后,我的协议版本将打印到日志中。

when Succeeded

Failed

1 个答案:

答案 0 :(得分:0)

我建议尝试用不同的工具复制问题。在代理运行时,运行订阅客户端:

mosquitto_sub -h <hostname> -t in/# -v

然后单独进行发布:

mosquitto_pub -h <hostname> -t in/device -m message

这应该很快返回,你的mosquitto_sub实例应该打印in/device message。重复发布,您应该看到同样的事情。

如果您没有看到重复的消息,则代理会出现问题。如果然后尝试使用例如mosquitto作为经纪人并重复你的代码。

如果您确实使用mosquitto_pub / sub看到了重复的消息,那么您的代码就会出现问题。您可以继续尝试不同的排列,直到您更好地了解问题所在 - 即使用mosquitto_pub + your sub,mosquitto_sub + your pub。