ozzy:~taka/cc/TCP の下にクライアント・サーバ・モデルのプログラムを作りました。 solaris 上でなら、make すれば利用できます。 使用するポートはデフォルトでは 3333 です。
現在 ozzy の /usr/local/bin にインストールされていますので、 PATH を設定すれば利用可能です。
サーバは ozzy を仮定していますが、変更したいときは、 以下の環境変数を設定してください。
環境変数 | 意 味 | デフォルト |
---|---|---|
TEST_PORT | 使用するポート番号 | 3333 |
TEST_HOST | 使用するサーバ名 | ozzy |
>make
ソース | 説 明 |
---|---|
tcp.h | 定義部と get_env() があります |
srv.c | サーバ・プログラムです。 クライアントからくる文字列をクライアントにかえす。 文字列がコマンドに対応すると、該当する動作をする。 |
cli.c | クライアント・プログラムです。 起動した画面で文字列を入力し Return すると、それをサーバに送り、 返ってきた文字列を表示します。 文字列がコマンドに対応すると、該当する動作をする。 |
netgrep | srv から実行するシェルスクリプトで、状態を表示します |
makefile | makefile です。 |
srv 起動側からは "netgrep" でネットワークとプロセスの状況を見れます。
コマンド | 機 能 | サーバ netstat -an|grep PORT |
クライアント |
---|---|---|---|
C_Quit | クライアントを終了する | LISTEN (正常) | 正常終了 |
DS_C_Quit | 専用サーバとクライアントを終了する | TIME_WAIT ->LISTEN (正常) | 正常終了 |
CQ_DSW | クライアントを終了し、専用サーバは WAIT 後、終了する | CLOSE_WAIT -> LISTEN | 正常終了 |
DS_Quit | 専用サーバを終了する | FIN_WAIT_2 -> LISTEN | broken pipe 異常終了 |
DS_CW | 専用サーバは WAIT 後(30秒)、終了する | FIN_WAIT_2 -> LISTEN | broken pipe 異常終了 |
C_Close | クライアントは socket をクローズする | LISTEN (正常) | Bad file number 異常終了 |