以下の Web site にサンプルソースとともに簡潔にまとめられていた。
素晴らしい。
URL: http://www.ueda.info.waseda.ac.jp/~toyama/network/example2.html
以下のマシンでテストした。
サーバ -> Cygwin on WindowsXP
クライアント -> Debian GNU Linux squeeze (testing)
make 時の注意
- Debian では libsocket が見つからなくてリンクエラーになった。
Linux では不要らしいので、Makefile 中の -lsocket を削除した。 - Cygwin では libsocket と libnsl が見つからなくてリンクエラーに
なった。両方とも cygwin1.dll に含まれているらしいので、Makefile 中
の -lsocket と -lnsl を削除した。
テスト
- Cygwin で iserver.exe を実行し、クライアントからの通信待ち受け状
態にした。 - Linux で iclient を実行した。そのまま文字列を打ち込んだら、大文字
に変換されて表示された。成功!
補足
- 大文字への変換は iserver.c の toupper() で行っている。iclient は
標準入力から受け取った文字列をサーバに送り、送り返された文字列を
printf() しているだけ。