本稿は C++ で network programming を socket library を用いて 行う際の技法などについて考察する。 C++は基本的にはCの上位互換であるので、Cのソースコードがあれば ソースをいじる必要はほとんど無い。しかしながら、socket library は どちらの言語にも標準ライブラリとして含まれていないために、 移植性を保とうとすると、C の socket library を直接呼ぶか、 自分で class を作る必要が出てくる。本稿は、これらをどのように 使うかを考察しようとするものである。 記述は、できるだけ標準C++ (JIS X 3014:2003, ISO/IEC 14882:2003)に沿って行うつもりであるが、 上で述べたように標準ライブラリには含まれていない socket library や thread を扱う。 C++ コンパイラは C ほど十分に安定しているとは言えない状態が 続いた。この状況は今(2006年4月)も続いているかも知れない。 標準ライブラリも制定に長い時間を要した。したがって 例えばmozilla の C++ 移植性ガイド http://www.mozilla-japan.org/hacking/portable-cpp.html は今でも有効かも知れない。 この稿を読むにあたっては、これらのことを頭の隅に入れておいて 欲しい。
|