本章では、ソケットシミュレーター(本アプリ)の初期画面(以降、トップ画面)の機能について説明します。
トップ画面では、ソケットの作成、削除、状態確認、および一覧表示を行います。
[補足]
ソケット作成数の上限は設けていません。
| アイコン表示 | 説明 | |
|---|---|---|
| 役割 | ![]() | サーバーソケット 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 の結果が表示されます。