Clean Start、Will、Will QoS、および Retain フラグは、CONNECT メッセージの変数ヘッダー内にあります。
位置: 接続フラグ・バイトのビット 1。
クライアントはブローカーとの間でいわゆる「クリーン」な状態に戻ります。 このフラグを設定すると、ブローカーは、該当クライアントの未解決メッセージを破棄し、 該当クライアントの全サブスクリプションを削除し、Message ID を 1 にリセットします。 そのようにすると、以前の接続によるデータが現在の接続に干渉してしまう危険を避けながら、クライアントを運用していけます。 Clean Start フラグの形式は、以下の表で示しています。
ビット | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
---|---|---|---|---|---|---|---|---|
Reserved | Reserved | Will Retain | Will QoS | Will Flag | Clean Start | Reserved | ||
x | x | x | x | x | x | x |
このバイトのビット 7、6、および 0 は、現行バージョンのプロトコルでは使用されません。これらは将来の利用のために予約済みです。
位置: 接続フラグ・バイトのビット 2。
"Will" メッセージは、クライアントとの通信時にブローカーに入出力エラーが生じるか、 クライアントが Keep Alive Timer スケジュール内での通信に失敗する場合に、 パブリッシュされるメッセージをクライアントがブローカーに代わって定義します。 Will メッセージの送信は、クライアントから DISCONNECT メッセージを受信するブローカーではトリガーされません。
Will フラグを設定する場合、Will QoS および Will RETAIN フィールドが接続フラグ・バイト内に存在しなければならず、 Will Topic および Will Message フィールドがペイロード内に存在しなければなりません。
Will フラグの形式は、以下の表で示しています。
ビット | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
---|---|---|---|---|---|---|---|---|
Reserved | Reserved | Will Retain | Will QoS | Will Flag | Clean Start | Reserved | ||
x | x | x | x | x | x | x |
このバイトのビット 7、6、および 0 は、現行バージョンのプロトコルでは使用されません。これらは将来の利用のために予約済みです。
位置: 接続フラグ・バイトのビット 4 および 3。
接続中のクライアントは、 クライアントが不意に切断された場合に送信される Will メッセージ用に、Will QoS フィールド内で QoS レベルを指定します。 Will メッセージは、CONNECT メッセージのペイロード内で定義されます。
Will フラグを設定する場合、Will QoS フィールドは必須になり、 設定しない場合には値は無視されます。
Will QoS の値は、0 (0x00)、1 (0x01)、または 2 (0x02) です。 Will QoS フラグについては、以下の表で示しています。
ビット | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
---|---|---|---|---|---|---|---|---|
Reserved | Reserved | Will Retain | Will QoS | Will Flag | Clean Start | Reserved | ||
x | x | x | 1 | x | x |
このバイトのビット 7、6、および 0 は、現行バージョンのプロトコルでは使用されません。これらは将来の利用のために予約済みです。
位置: 接続フラグ・バイトのビット 5。
Will Retain フラグは、 クライアントが予期せずに切断された場合にクライアントに代わってブローカーによってパブリッシュされる Will メッセージをブローカーが保存するかどうかを示します。
Will フラグを設定する場合、Will Retain フラグは必須になり、 設定しない場合にはこのフラグは無視されます。 Will Retain フラグの形式は、以下の表で示しています。
ビット | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
---|---|---|---|---|---|---|---|---|
Reserved | Reserved | Will Retain | Will QoS | Will Flag | Clean Start | Reserved | ||
x | x | x | x | 1 | x | x |
このバイトのビット 7、6、および 0 は、現行バージョンのプロトコルでは使用されません。これらは将来の利用のために予約済みです。