tcp sample


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
異常終了