MQTT Verbindungsstatus feststellen

  • Antworten:2
  • Bentwortet
Kiwi_gamer01
  • Forum-Beiträge: 11

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?

Kommentieren
Beste Antwort
Pascal P.
  • Admin
  • Forum-Beiträge: 11.286

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?
Kiwi_gamer01Ludy
Kommentieren
Beste Antwort
Pascal P.
  • Admin
  • Forum-Beiträge: 11.286

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?
Kiwi_gamer01Ludy
Kommentieren