私はMQTTプロトコルを勉強していますし、スペックの非常に最初の行で矛盾があるようです:MQTT QoSの使用目的は何ですか?
プロトコルTCP/IP上で動作する、または注文した提供 他のネットワークプロトコルの上には、無損失、双方向接続。その機能 は、次のとおりです。
[...] メッセージ配信のためのサービスの
三資質:メッセージはの最善の努力に応じ を配信している「最高1回」
- 、動作環境。 メッセージが失われる可能性があります。このレベルは、たとえば アンビエントセンサーデータで使用することができます。個々の読み取り値 が失われた場合は、すぐ次のものが公開されます。・
- " で少なくとも1回"メッセージは到着することが保証されていますが、重複すると が発生します。・
- 「正確に1回」は、メッセージが正確に一度 に到着することが保証されています。このレベルは、たとえば、重複したメッセージや紛失したメッセージによって正しく の料金が適用されるような請求書 システムで使用できます。
MQTTだけロスレスているネットワークプロトコルを介して実行することができた場合、QoSの損失のあるレベル(レベル0)を提供するの意味は何ですか?
TCPプロトコルが失われたメッセージの再送信を処理するので、それを提供することすらできないと思います。 MQTT-SNは、non-TCP、信頼性の低いネットワークで動作するように意図されています。
(注:レベル1「少なくとも1回」は、TCPに既にこの保証が含まれているために意味がありませんが、他のロスレスプロトコルがある可能性があるため使用される)