IoT / M2M(第8回) MQTT(3)

これまで、パブリッシャー・ブローカー・サブスクライバーの役割、データの伝送品質であるQoSの品質について記載しました。今回は、RetainとWillについて記載したいと思います。

Retain
サブスクライバ―は、サブスクライブ後しか当然ながらメッセージを受け取ることができません。ところが、Retainフラグが付いたメッセージであったらブローカーにメッセージが保存され、後からサブスクライバ―をブローカーに接続してもメッセージが受け取れます。

Image1

Will
Willは遺言という意であり、ブローカーのI/Oやネットワーク障害により、予期せずパブリッシャ―が切断した場合、予めブローカーに登録されているWillメッセージがサブスクライバ―に送信される仕組みです。パブリッシャーはブローカーに接続するとき、CONNECTメッセージにWillフラグとメッセージ、そしてQoSを指定して接続します。この仕組みにより、予期せぬ切断時、サブスクライバ―にWillメッセージを送ることができます。またWill Retainフラグを指定すると、先のRetain機能を利用し、サブスクライバ―が後から接続してもブローカーからWillメッセージが送られてきます。なお、正常に切断された場合は、Willメッセージは送らてきません。

Image2

カテゴリー: IoT, M2M パーマリンク

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です