←戻る

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はオープンソース・ソフトウェアなので、無償で入手できるというのも魅力である。
まぁ、詳しい概説はOverview of ACEACE Rules!に譲るとして、ともかくACEを使うための準備をすすめていきましょう。

で、ACEってどこでもらえるん?

ACEの公式サイトは2つ存在します。(RIVERACEDouglas C. Schmidt氏によるページ) まぁ、どっちからでも多分同じ物を入手できるので好きなほうを選べばいいんですが、私は後者の方をお勧めします。(なんとなくわかりやすいし)
これを書いている2002/10/13の時点では最新リリースはv5.2なので、ACE-5.2.tar.gzをダウンロードしてきて解凍しましょう。 解凍してできたフォルダの中に ACE-INSTALL.html が入っていて、各プラットフォーム毎にインストール手順が書いてあるので、手順に従ってインストールしてください。(英語で書いてありますが、そんなに難しいことは書いてません) ちなみにWin32環境の場合は ACE-INSTALL.html#win32 ですので参考までにどうぞ。

さぁ、これでACEを使ったネットワークプログラムを書く準備ができたわけです。 次回は簡単なサンプルをお示しできればと思います。
では、今回はこの辺で...

参考文献等


←戻る

Valid HTML 4.01!

Valid CSS!