サーバのプログラム

  概要   プログラム   解説

サーバプログラムの概要

ここでは、7000番ポートで接続を待ち、接続されると、 メッセージを表示し、入力された数値を加算するサーバを 作成します。

まずコンパイルしてサーバを起動してから、telnetで7000番ポートに 接続します。そしていくつか数値をいれてから、最後にEnterキー のみの行を入力すると、加算結果が返されます。

動作確認の例
% telnet panda.local.fc-lab.com 7000
Trying 192.168.0.4...
Connected to panda.local.fc-lab.com.
Escape character is '^]'.
Please input numbers!
24
32
19

sum : 75
Connection closed by foreign host.


注意点

  • socket(),bind()などの関数のエラーチェックをしていません、 戻り値が負の数である場合エラーが発生する可能性もあるので、 実際に利用するプログラムではエラー処理をしたほうが安全です。

  • また、localhost(127.0.0.1)でのlistenはしていないので、 localhost(127.0.0.1)の7000番への接続は拒否されます。指定した ホスト名あるいはそのホストのアドレスをお使いください。 複数のインターフェースを持つマシンで使う場合の場合も 同じ問題が起こります。
    複数のアドレスでの接続を許可する場合は、listenするソケットを そのアドレス分だけ作ってlistenする必要があります。
FC Labのホームへ 「ネットワークプログラミング」のページへ