MQTT - Wie lange hält eine subscription?

Gast #5646835
Hallo,
ich habe einen RaspberryPi mit MQTT Server aufgesetzt. Als Client dient 
ein ESP32 mit PubSubClient Library. Der Client subscribed beim Start 
einige Topics und published hin und wieder etwas. Nun soll das System 
über lange Zeit möglichst stabil laufen. Da gibt es bei mir aber noch 
einige Fragezeichen:

Was passiert z.B., wenn der Raspi/MQTT Server neu gestartet wird?
Sind die Subscriptions des Clients dann immer noch gültig?
Oder sollte der Client von Zeit zu Zeit alles neu subscriben?
Oder sogar immer mal wieder ein disconnect/connect durchführen?
Gast #5646973
5646835 schrieb:
> Dann müssen sich alle Clients neu verbinden da TCP ein
> verbindungsorientiertes Protokoll ist - oder verwendest du UDP?

Ich verwende TCP.

Dann sollte wohl in regelmäßigen Zeitabständen der Verbindungstatus 
geprüft, und ggf. ein Reconnect + Resubscribe durchgeführt werden.

Danke!
#5650320
Du musst die Themen wieder Abonnieren. Ob du die letzte Messages des 
Themas auch erhältst hängt vom Retain Flag ab, welches beim publish 
gesetzt sein muss. Sobald du das Thema Abonnierst erhältst du die letzte 
Messages..

Wenn der Server neu gestartet wird, werden alle Sockets geschlossen. 
Dein Client bekommt das auf TCP/IP Ebene mit und versucht sich wieder zu 
verbinden... Ob dann nach Messages ausgeliefert werden die im Inflight 
Buffer mit QOS> 0 versendet wurden hängt vom Server ab.

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 7 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.