MQTT Verbindungsstatus feststellen

  • Antworten:2
  • OffenNicht stickyBentwortet
  • Forum-Beiträge: 5

24.05.2020, 23:34:00 via Website

Im der OnCreate wird eine Verbindung zu einem MQTT Broker hergestellt. Bein die Verbindung glückt OnSucces wenn nicht dann OnFaliure in diesen wird ein TextView auf "connected" oder "not connected" gesetzt. Wenn aber der MQTT Broker offline geht steht das TextView immer noch auf "connected". Gibt es eine Möglichkeit den Status des Brokers zu ermitteln oder irgendwie festzustellen ob dieser offline geht?

Diskutiere mit!
Beste Antwort
  • Forum-Beiträge: 11.024

25.05.2020, 09:47:13 via Website

Im Prinzip kannst du dafür doch die Callbacks verwenden z.b.

mqttClient sampleClient = new MqttClient(broker, clientId, persistence);
    sampleClient.setCallback(new MqttCallback()
    {
        @Override
        public void connectionLost(Throwable cause) {
            System.out.println("Lost connection");
            cause.printStackTrace(); //EOFException thrown here within a few seconds
        }

        @Override
        public void messageArrived(String topic, MqttMessage message) throws Exception {
        }

        @Override
        public void deliveryComplete(IMqttDeliveryToken token) {
        }
    });

Ansonsten schaust du in der Doku des Paho MQTT Client nach, das sollte alles beschrieben sein.

LG Pascal //It's not a bug, it's a feature. :) ;)

Hilfreich?
Diskutiere mit!
Beste Antwort
  • Forum-Beiträge: 11.024

25.05.2020, 09:47:13 via Website

Im Prinzip kannst du dafür doch die Callbacks verwenden z.b.

mqttClient sampleClient = new MqttClient(broker, clientId, persistence);
    sampleClient.setCallback(new MqttCallback()
    {
        @Override
        public void connectionLost(Throwable cause) {
            System.out.println("Lost connection");
            cause.printStackTrace(); //EOFException thrown here within a few seconds
        }

        @Override
        public void messageArrived(String topic, MqttMessage message) throws Exception {
        }

        @Override
        public void deliveryComplete(IMqttDeliveryToken token) {
        }
    });

Ansonsten schaust du in der Doku des Paho MQTT Client nach, das sollte alles beschrieben sein.

LG Pascal //It's not a bug, it's a feature. :) ;)

Hilfreich?
Diskutiere mit!
Empfohlene Artikel bei NextPit