Cosa succede quando non c'è alcun abbonato a un argomento in MQTT?


12

La situazione è la seguente:

C'è un cliente, un editore, non è iscritto a nessun argomento. Questo client ha un solo argomento a sé stante e pubblica dati su di esso in modo regale. Ma non ci sono altri client iscritti a questo argomento.

Quindi questo cliente povero e solo potrebbe essere considerato anormale ( capitolo 5.4.8 ).

Le implementazioni del server potrebbero monitorare il comportamento del client per rilevare potenziali incidenti di sicurezza. Per esempio:

  • [...]

  • Invio di messaggi non consegnabili (nessun abbonato agli argomenti)

Non ha idea di quanti clienti abbiano sottoscritto il suo argomento. Quindi non sa che potrebbe essere considerato un client con comportamento anomalo.

Quindi cosa succede con un client del genere dipenderà dall'implementazione del server? Quali sono le pratiche, dovrebbe essere semplicemente disconnesso, ma allora non proverà a riconnettersi?

Risposte:


9

Come dici tu, dipende dall'implementazione del server, specialmente dalla QoS del messaggio trasmesso se è "almeno una volta".

IMHO MQTT è un sistema di trasmissione, non un protocollo end-to-end tra due macchine, quindi non abbiamo assolutamente bisogno di un abbonato ogni volta che creiamo un soggetto.

Posso pubblicare qualsiasi cosa (temperatura, ...) e due mesi dopo implementare qualcosa che lo leggerà, o addirittura rimuoverlo e pensare a qualcos'altro mentre il mio sensore pubblica ancora i dati.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.