←戻るACEを使ったネットワークプログラミングACE導入ちゅうかACEってなんやねん前回2回のプログラムの話において、ネットワークプログラミングの話をしてきた。2回目ではgcc@cygwin、MSVC++双方の環境でコンパイルし,実行できるようにプリプロセッサの機能を使いincludeするヘッダや呼び出す関数を場合分けすることまでした。前回書いたプログラムをgcc@cygwinとMSVC++上でだけ動かしている場合はそれでもいいかもしれないが、もし、あのコードをMacOSやSunOSやその他さまざまなプラットフォームに移植するとしたら...。コードは#ifや#elifなどの嵐になり、ひょっとしたら可搬性は保っているかもしれないけど非常に読みづらく、保守しにくく、バグの潜みやすいものになるだろう。なくてもSocketを使ったネットワークプログラムはややこしくてバグを埋め込みやすいのに、可搬性なんてとんでもない、という代物である。そこで登場したのがACEである。ACEは、Windows、MacOSX、UNIX等、様々なプラットフォーム上で動作する主なC++コンパイラーで動作する、ネットワークプログラム用のミドルウェアである。ACEに含まれるクラス群は各プラットフォーム間のネットワークコード上の差異を吸収し、さらにネイティブよりも型安全なコーディング環境を提供してくれる。ACEを利用して書かれたコードは他のどのACEのあるプラットフォーム上でも同様に動作し(もちろんACEを使っている部分に関してのみですが(^^;)、また、ネイティブコード使用時に実行時にのみ現れるエラーもコンパイル時に検出されるので、プログラムの質を上げ、コストを大幅に削減することができる。ACEはオープンソース・ソフトウェアなので、無償で入手できるというのも魅力である。Rules!に譲るとして、ともかくACEを使うための準備をすすめていきましょう。ACEってどこでもらえるん?ACEの公式サイトは2つ存在します。どっちからでも多分同じ物を入手できるので好きなほうを選べばいいんですが、私は後者の方をお勧めします。(なんとなくわかりやすいし)これを書いている2002/10/13の時点では最新リリースはv5.2なので、ACE-5.2.tar.gzをダウンロードしてきて解凍しましょう。入っていて、各プラットフォーム毎にインストール手順が書いてあるので、手順に従ってインストールしてください。さぁ、これでACEを使ったネットワークプログラムを書く準備ができたわけです。次回は簡単なサンプルをお示しできればと思います。