MQTT Java 不能发送多次
MQTT Java can't send more than once
问题是,当客户端在收到消息后发送第一条消息时,它无法再接收和回复消息。
代码如下:
public void demo() {
try {
client = new MqttClient("tcp://broker:1883", "Sending");
client.connect();
client.setCallback(this);
client.subscribe("receive");
} catch (MqttException e) {}
}
@Override
public void messageArrived(String topic, MqttMessage message)
throws Exception {
message.setPayload("I'm replying".getBytes());
client.publish("publish", message);
}
我在 Android 开发中有类似的东西,它很有魅力。
帕霍 3-1.0.2
您不应在 massageArrived
回调中使用 with 发布新消息。
使用类似 AsyncTask
的东西从单独的线程进行发布
编辑,抱歉,没有 100% 清醒,错过了 Android 位。休息仍然成立,只需要使用 Excutor
和 Runnable
而不是 AsyncTask 正常 Java
问题是,当客户端在收到消息后发送第一条消息时,它无法再接收和回复消息。
代码如下:
public void demo() {
try {
client = new MqttClient("tcp://broker:1883", "Sending");
client.connect();
client.setCallback(this);
client.subscribe("receive");
} catch (MqttException e) {}
}
@Override
public void messageArrived(String topic, MqttMessage message)
throws Exception {
message.setPayload("I'm replying".getBytes());
client.publish("publish", message);
}
我在 Android 开发中有类似的东西,它很有魅力。 帕霍 3-1.0.2
您不应在 massageArrived
回调中使用 with 发布新消息。
使用类似 AsyncTask
的东西从单独的线程进行发布
编辑,抱歉,没有 100% 清醒,错过了 Android 位。休息仍然成立,只需要使用 Excutor
和 Runnable
而不是 AsyncTask 正常 Java