MQTTでは、CONNECTメッセージで接続を開始するのはクライアントです。
パケットの最初のフィールドは次のclientId
とおりです。
クライアント識別子(短いClientId)は、MQTTブローカーに接続する各MQTTクライアントの識別子です。識別子という言葉がすでに示唆しているように、ブローカーごとに一意である必要があります。ブローカーはこれを使用して、クライアントとクライアントの現在の状態を識別します。(画像と引用はここから取得されます。)
次の状況で、クライアントXとYの2つのクライアントがあるとします。
- ブローカーがローンチしましたが、まだクライアントはありません。
- Xは正常に
client-1
IDでブローカーに接続しますX
。ユーザー名はです。 - ここで、Yは
client-1
IDとして接続を試みますY
。ユーザー名はです。
何が起こるか?
- clientIdに基づいて、ブローカーは、X が異常な動作である接続試行を繰り返し実行すると考えます。
- 異常なことは起こりません。Yは別のユーザー名を使用しているため、正常に接続します。
- 異常なことは起こりません。ブローカーは、Y拒否します与えられたのclientIdがすでに使用されているような接続の試みを。