【问题标题】:MQTT Java can't send more than onceMQTT Java 不能多次发送
【发布时间】:2016-05-21 10:05:47
【问题描述】:

问题是,当客户端收到消息后发送它的第一条消息时,它不能再接收和回复消息。

代码如下:

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

【问题讨论】:

    标签: java networking mqtt paho


    【解决方案1】:

    您不应在 massageArrived 回调中发布来自 with 的新消息。

    使用AsyncTask 之类的东西从单独的线程进行发布

    编辑,抱歉,不是 100% 清醒,错过了阅读 Android 位。 rest 仍然成立,只需要使用 ExcutorRunnable 而不是普通 Java 的 AsyncTask

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-08-13
      • 1970-01-01
      • 2011-06-14
      • 2015-12-07
      • 1970-01-01
      • 1970-01-01
      • 2016-06-12
      • 2014-07-14
      相关资源
      最近更新 更多