ネットワークプログラミングの基礎知識

ここでは IP アドレスやポート番号、クライアントとサーバの役割などを説明し、 perl・C言語・Java などでソケット (Socket) を使った HTTP クライアントや POP3 クライアント、簡単なサーバを作成してみます。 要はネットワークプログラミングをやってみよう、ということです。

このページのサンプルプログラムは、RFC などの規格に準拠した「正しい」プログラムではありません。 また、全体的にエラー処理が不十分です (今後改善する予定です)。 あくまでも概要を理解するためのサンプルととらえてください。

もし本気でしっかりとしたクライアントやサーバを書きたいなら、このページを読んだ上で、 さらに RFC を熟読し、そして wget・Apache・ftp コマンドなどのソースを参考にしてください。

このページに間違いを見付けたら、掲示板 で教えていただけると幸いです。

基本的に FreeBSD・Linux などの UNIX 系 OS を使っている人を対象として書きましたが、 Windows ユーザにも理解できるように補足を入れたつもりです。

基礎編

モジュール編

UDP 編

C 言語編

TCP/IP エラー処理

Java 編

暗号化編

その他編

ソース一覧

以下のサンプルプログラムは、各項で解説したものをまとめたものです。 サンプルプログラムの動作チェックは、FreeBSD 5.2.1-RELEASE・perl-5.8.2・J2SE SDK 1.4.2_07 上で行い、 プロトコルのチェックは apache-2.0.52・qpopper-2.53・FreeBSD 標準の ftpd に対して行いました。 実行環境を持っていないので、Windows でのプログラムの動作確認は行っていません

ToDo

今後の予定。予定は未定。

$Id: index.html,v 1.49 2017/03/20 16:06:06 68user Exp $