MQTTのトピックにサブスクライバーがいない場合はどうなりますか?


12

状況は次のとおりです。

クライアント、パブリッシャーがいますが、どのトピックにもサブスクライブされていません。このクライアントに独自のトピックが1つあり、データを定期的に公開します。ただし、このトピックにサブスクライブしている他のクライアントはありません

したがって、この貧弱で孤独なクライアントは異常と見なされる可能性があります(第5.4.8章)。

サーバー実装では、クライアントの動作を監視して、潜在的なセキュリティインシデントを検出する場合があります。例えば:

  • [...]

  • 配信不能メッセージの送信(トピックの購読者なし)

それは持っていない加入しているどのように多くのクライアントについては考えそのトピックにします。したがって、異常な動作をしているクライアントと見なされる可能性があることはわかりません。

では、そのようなクライアントで何が起こるかは、サーバーの実装に依存しますか?プラクティスは何ですか、単に切断する必要がありますが、その後再接続を試行しませんか?

回答:


9

あなたが言うように、それはサーバーの実装、特に「少なくとも1回」である場合の送信メッセージのQoSに依存します。

IMHO MQTTはブロードキャストシステムであり、2台のマシン間のエンドツーエンドプロトコルではないため、サブジェクトを作成するたびにサブスクライバーが必要になることはありません。

何か(温度など)を投稿でき、2か月後にそれを読み取るものを実装したり、センサーがまだデータを公開している間にそれを削除して何か他のものを考えることさえできます。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.