ParticleでQoS1|2を実装しれ!!みたいに言われて、それっぽく使いやすいように実装してみたりして思ったりする所。Spark/Photonを持っている人なら一度は使ったと思われるMQTT、なぜかIoT(的)な物で使われるMQTT…に対してQoSを意識して実装する時の注意点を少し。 MQTT QoS0|1|2のシーケンスは以下の通り。 ここではよく利用すると思われるPUBLISHを例にする。MQTTはQoSのレベルによって接続するMQTTサーバとの通信が変わる。レベルが上がる毎に、応答確認(ACK)メッセージのやり取りが増える感じ。このACKを利用すると、次のような実装が期待されると思う。 これはQoS1の場合について。timer処理を入れて、ACKが来なかった時に同じメッセージを再送するといった事ができるようになる。実際MQTT 3.1のプロトコル定義にもDUPフラグを付けて再送信
![MQTTについて少し | Natural Days](https://cdn-ak-scissors.b.st-hatena.com/image/square/f33bac3eb616f66248ec75c3450e0ec3e759071e/height=288;version=1;width=512/https%3A%2F%2Fwww.hirotakaster.com%2Fwp-content%2Fplugins%2Fall-in-one-seo-pack%2Fimages%2Fdefault-user-image.png)