まず,main関数のパラメータによって,コマンドラインからの引数の個数 argcと,引数の配列argv(文字列配列)を参照できるようにしてお く.このサンプルでは,一つ目の引数 (argv[1]) でポート番号を取る.
以下の部分で接続を受けるサーバの情 報を設定し,bindシステムコールを用いてソケットsに関連づけてい る.
server.c: bzero(&sin, sizeof(sin)); (sinを0で初期化) sin.sin_family = AF_INET; (AF_INETで固定) sin.sin_port = htons(port); (ポート番号を設定) sin.sin_addr.s_addr = INADDR_ANY;一般に,サーバは複数のIPアドレスを持つことができるが,s_addrを INADDR_ANYとすることにより,どのアドレスに対する接続も受け付けるよ うにしておく.
その後,listen システムコールによりクライアントからの接続待ち状態に なり,接続があれば,acceptシステムコールによってこれを受け付ける.
データの送受信は
NAKAZAWA Koji