Publishしてしまった!しかもqos=1 or 2で!
さらに、retain=true、MQTT初心者だった私は当時パニックになりました
試しにMQTTを触っていた私は、思わぬ動作を引き起こし、ついついやってしまったということです
#正直コレ自体は正しい使い方をすれば優れた機能で、間違っていません
間違っていたのは私の理解と使い方です
publishってなぁに?
subscribeってなぁに?
qosってなぁに?
qos levelってなぁに?(1 or 2 or 3)
retainってなぁに?
仕組みが分かっていないプロパティは使うものじゃないよね、というお話
あ、間違えてPublishしちゃった。。。
#publish('dummy/topic', payload = '{ "message": "hello!"}', retain = true, qos = 1)
これでメッセージがMQTTブローカーに保存され、subscribeする側は、
永遠に同じメッセージが取得出来ます
でも、使い方によってはこれじゃ困る!qos=0でいいし、読み捨てたい!
そう思ったらこれ!
誤って保存されてしまったメッセージを取り消す
#publish('dummy/topic', payload = '', retain = true, qos = 1)
同じTopicに、同じqos levelで、payloadを空でPublishすることで
MQTTブローカーに保存されてしまったメッセージを削除することができます
#知らないと意外とハマる
感想
わからないモノ(APIやフレームワークのメソッドやOSSライブラリも)は、理解するまで使うべからず
使って、やっちゃったら、自分の責任ということを忘れるべからず