我有一个使用mqtt paho版本 MqttConnectOptions.MQTT_VERSION_3_1_1 运行的程序。我订阅了“设备/ + /发布”主题,并且在程序中收到了来自硬件的消息。直到昨天它运行良好,今天我遇到一个问题,即订阅行之后代码未继续执行。我将mqttclient对象更改为MqttAsyncClient。并将代码订阅为
mqttClient.subscribe("device/+/publish", 0 , new IMqttMessageListener() {
@Override
public void messageArrived(String topic, MqttMessage mqttMessage) throws Exception {
// TODO Auto-generated method stub
System.out.println(
"---------------------------------------------------------------------------------------------------");
processMessage(mqttMessage, collarTopic, identity);
}
});
messageArrived也像
一样用MqttCallbackExtended()编写。mqttClient.setCallback(new MqttCallbackExtended() {
@Override
public void messageArrived(String topic, MqttMessage mqttMessage) throws Exception {
// TODO Auto-generated method stub
System.out.println(
"---------------------------------------------------------------------------------------------------");
processMessage(mqttMessage, collarTopic, identity);
}
但这在我的程序中从未调用过。我可以在MQTTBox中看到收到具有相同订阅的消息,但是在我的程序中看不到。
有人可以帮忙吗?