【问题标题】:java paho mqtt subscribe can't reconnectjava paho mqtt订阅无法重新连接
【发布时间】:2018-09-11 20:01:52
【问题描述】:

我正在使用 java paho mqtt。 我想始终保持订阅连接。 我想它会自动连接.. 但是当mqtt服务器关闭或重启后服务器最终正常化时, 客户端(订阅)无法接收任何消息。 怎么了?

public class MqttSubscribe {
MqttClient client;
MqttConnectOptions connOpt;


public MqttSubscribe() {

    mqtt_parse = new MqttParser();
    connOpt = new MqttConnectOptions();
    connOpt.setKeepAliveInterval(30);
    connOpt.setCleanSession(true);
    connOpt.setConnectionTimeout(2000);

    mqttSubConnect();

}

MqttCallback callback = new MqttCallback() {

    @Override
    public void connectionLost(Throwable arg0) {

        System.out.println("connect loss");

        try {
            Thread.sleep(2000);
        } catch (InterruptedException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
        mqttSubConnect();
    }


    @Override
    public void deliveryComplete(IMqttDeliveryToken arg0) {
    }

    @Override
    public void messageArrived(String arg0, MqttMessage msg) throws Exception {
        System.out.println(msg.toString());
    }

};

public void mqttSubConnect() {

    try {
        client = new MqttClient(
                SetDeviceSettingsValue.MQTT_BROKER_IP + ":" + SetDeviceSettingsValue.MQTT_BROKER_PORT,
                MqttClient.generateClientId(), new MemoryPersistence());
        client.setCallback(callback);
        client.connect(connOpt);
        client.subscribe(
        MqttTopic.MainTopic+"/"+ MqttJsonHeaderValue.DEVICE_MAC_ADDRESS+"/"+MqttTopic.ControlTopic, 
          MqttQos.MQTT_QOS_2);

    } catch (MqttException e) {
    }
}

}

【问题讨论】:

    标签: java mqtt subscribe


    【解决方案1】:

    connOpt.setConnectionTimeout(2000); 行之后尝试添加这个

    connOpt.setAutomaticReconnect(true);
    

    如果设置为 true,如果连接丢失,客户端将尝试重新连接到服务器。它最初会在尝试重新连接之前等待 1 秒,对于每次失败的重新连接尝试,延迟将加倍,直到 2 分钟,此时延迟将保持在 2 分钟。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-10-17
      • 2016-10-27
      • 2020-04-11
      • 2021-08-24
      相关资源
      最近更新 更多