Que se passe-t-il lorsqu'il n'y a aucun abonné à un sujet dans MQTT?

12

La situation est la suivante:

Il y a un client, un éditeur, il n'est abonné à aucun sujet. Ce client a un seul sujet qui lui est propre et lui publie régulièrement des données. Mais aucun autre client n'est abonné à ce sujet.

Ce client pauvre et solitaire peut donc être considéré comme anormal ( chapitre 5.4.8 ).

Les implémentations de serveur peuvent surveiller le comportement du client pour détecter les incidents de sécurité potentiels. Par exemple:

  • [...]

  • Envoi de messages non distribuables (aucun abonné aux sujets)

Il n'a aucune idée du nombre de clients qui se sont abonnés à son sujet. Il ne sait donc pas qu'il pourrait être considéré comme un client avec un comportement anormal.

Alors, que se passe-t-il avec un tel client dépendra de la mise en œuvre du serveur? Quelles sont les pratiques, il devrait simplement être déconnecté, mais ne tentera-t-il pas alors de se reconnecter?

Bence Kaulics
la source

Réponses:

9

Comme vous le dites, cela dépend de l'implémentation du serveur, notamment la QoS du message transmis s'il est "au moins une fois".

IMHO MQTT est un système de diffusion, pas un protocole de bout en bout entre deux machines, nous n'avons donc absolument pas besoin d'un abonné chaque fois que nous créons un sujet.

Je peux poster n'importe quoi (température, ...) et deux mois plus tard implémenter quelque chose qui le lira, ou même le supprimer et penser à autre chose pendant que mon capteur publiera toujours des données.

Goufalite
la source