# クライアント

EMQXに接続してパブリッシュやサブスクライブを行うクライアントとして、[MQTTX](https://mqttx.app) を利用できます。あるいは、[各種言語で提供されているクライアントライブラリ](../../connect-emqx/introduction.md) を使って、EMQXへのクライアント接続を素早く実装することも可能です。**Clients** ページでは、現在サーバーに接続中のクライアントや、まだセッションが有効なクライアントの詳細やメトリクス統計を確認できます。

## クライアント一覧

クライアント一覧では、現在接続中のクライアントに関する基本情報を確認できます。主な項目は以下の通りです。

- EMQXに接続時に設定されたクライアントIDとユーザー名
- 現在の接続状態
- クライアントのIPアドレス
- 接続に設定されたハートビート時間および最大アイドル時間
- セッション情報（セッションがクリアされているかどうか、セッション有効期限間隔など）
- クライアントがEMQXに接続した時刻

クライアントのIPアドレスは、クライアントのIPアドレスとEMQXへの接続時に使用されたポート番号を連結したものが表示されます。

画面上部のフィルター条件欄には、デフォルトでクライアントID、ユーザー名、IPアドレスのみが表示されます。クライアントIDやユーザー名であいまい検索ができ、接続リストの絞り込みが可能です。検索バー横の右矢印ボタンをクリックすると、利用可能なすべてのフィルター条件が表示されます。接続状態や接続時間範囲での絞り込み、またはクライアントのIPアドレスを入力して対象IPでの絞り込みも行えます。

一覧の上部にある **Select Column** ボタンで表示するカラムを選択できます。**Refresh** ボタンをクリックすると、すべてのフィルター条件がリセットされ、接続リストが再読み込みされます。クライアントを選択して **Kick Out** をクリックすると、そのクライアントを手動で切断できます。

<img src="./assets/connections.png" alt="接続管理リスト" style="zoom:50%;" />

## クライアント詳細

クライアント一覧から接続を選択し、クライアントIDをクリックすると、そのクライアント接続の詳細ページに遷移し、接続のメトリクス統計を確認できます。ページ上部では、接続情報の手動更新やセッションの手動クリアが可能です。

一覧ページで表示されていた接続の基本情報に加え、このページでは接続に使用されているプロトコルバージョン、接続終了後にセッションがクリアされるかどうか、切断済みの接続の場合は最終切断時刻など、より詳細な情報を確認できます。**Connection Information** の右側には、接続の **Session Information** が表示され、セッション有効期限間隔、セッション作成時刻、プロセススタック、サブスクリプション数、メッセージキュー長、フライトウィンドウ長、QoS2メッセージ受信キュー長などが含まれます。

接続情報の下部には、トラフィック送受信量、メッセージ数、パケット数に基づく現在の接続の統計メトリクスが表示され、必要に応じて確認できます。

ページの最下部には、その接続が現在サブスクライブしているトピックが表示されます。**Add Subscription** ボタンをクリックすると簡単にサブスクライブ操作ができ、サブスクリプション一覧の **Unsubscribe** をクリックすると特定のトピックのサブスクライブを解除できます。

<img src="./assets/connection-details.png" alt="接続詳細" style="zoom:50%;" />
