本章では、ソケットシミュレーター(本アプリ)の初期画面(以降、トップ画面)の機能について説明します。
トップ画面では、ソケットの作成、削除、状態確認、および一覧表示を行います。
[補足]
ソケット作成数の上限は設けていません。
| アイコン表示 | 説明 | |
|---|---|---|
| 役割 |  | サーバーソケット listen(2) を発行して接続待ちのリスニングソケット。または、accept(2) を発行して生成したソケットを指す。 | 
|  | クライアントソケット 上記以外 | |
| I/O モード (*1) |  | 非停止(以降、non-blocking)モード fcntl(2) を発行してファイル状態フラグに O_NONBLOCK をセットしている状態。 | 
|  | 停止(以降、blocking)モード 上記以外 | |
| 接続 状態 (*2) |  | 未接続状態 初期状態。または bind(2) を発行してアドレスが割り当て済みの状態。 | 
|  | リスニング中 listen(2) を発行して接続待ち。 | |
|  | 接続処理中 non-blocking ソケットに対する接続処理の完了待ち。 | |
|  | 接続エラー状態 ソケットの接続処理でエラーが発生した。 | |
|  | 接続済み状態(全二重接続状態) ソケットに対する接続処理が正常完了した。または、accept(2) を発行してソケットを生成した。 | |
|  | 接続済み状態 全二重の受信側が閉じている状態。 | |
|  | 接続済み状態 全二重の送信側が閉じている状態。 | |
|  | 切断状態 全二重の全てが閉じている状態。 | |
 *1 I/O モードのアイコンは、アプリの設定 DESCRIPTION が有効な場合に表示されます。
 *2 接続状態のアイコンは、アプリの設定 AUTO MONITORING が有効な場合に、SOCK_STREAM ソケットで表示されます。
Address には、IP アドレスとポート番号(PF_INET の場合)または UNIX ドメインパス(PF_UNIX の場合)が表示されます。
| 表示名 | 状態 | 
|---|---|
| INET domain socket | AF_INET ソケット(初期表示) | 
| UNIX domain socket | AF_UNIX ソケット(初期表示) | 
| Dst Address | ソケットが接続済み。 | 
| Src Address | ソケットがリスニング中。 または、SOCK_DGRAM ソケットにアドレスが割り当て済み。 | 
| 接続状態 | Icon | 説明 | 
|---|---|---|
| Idle |  | 初期状態 | 
| Bound | アドレスが割り当て済み | |
| Listening |  | リスニング中 | 
| Connect in progress |  | 接続処理中 | 
| Connect error |  | 接続エラー状態 付加情報としてエラー値が表示されます。 Err#<errno 番号> <errno 名> | 
| Connected |  | 接続済み状態 | 
|  | ||
|  | ||
| Disconnect |  | 切断状態 | 
ソケットの接続状態は、以下のとおり遷移します。

このステータスは、TCP_CONNECTION_INFO オプションで取得できるパラメータ tcpi_state の値をもとに表示されます。
ステータスの詳細は、RFC#793 やインターネット公開サイトの情報を参考にしてください。
| tcpi_state | ステータス | 
|---|---|
| 0 | CLOSED | 
| 1 | LISTEN | 
| 2 | SYN_SENT | 
| 3 | SYN_RECEIVED | 
| 4 | ESTABLISHED | 
| 5 | CLOSE_WAIT | 
| 6 | FIN_WAIT_1 | 
| 7 | CLOSING | 
| 8 | LAST_ACK | 
| 9 | FIN_WAIT_2 | 
| 10 | TIME_WAIT | 
この情報は、TCP_CONNECTION_INFO オプションで取得できるパラメータの値が表示されます。
| 表示項目 | パラメータ | 説明 | 
|---|---|---|
| RX | tcpi_rxbytes tcpi_rxpackets | 受信したデータ量(バイト単位 / パケット数単位) | 
| TX | tcpi_txbytes tcpi_txpackets | 送信したデータ量(バイト単位 / パケット数単位) | 
| Retransmit | tcpi_txretransmitbytes tcpi_txretransmitpackets | 再送したデータ量(バイト単位 / パケット数単位) | 
この情報は、TCP_CONNECTION_INFO オプションで取得できるパラメータの値が表示されます。
| 表示項目 | パラメータ | 説明 | 
|---|---|---|
| Average RTT | tcpi_srtt | RTT の平均値(秒単位) | 
| Recent RTT | tcpi_rttcur | RTT の直近値(秒単位) | 
以下に示す 3 通りの polling の結果が表示されます。