Winsock Programmer's FAQ
第0章: 序文

0.1 - もともとの序文

「この FAQ は、Jay Allard氏、Bruce Backman 氏、Paul Brooks 氏、 Martin Hall 氏、Simon Hewison 氏、Mike Morse 氏、Bob Quinn 氏、 Ed Schwalenberg 氏、Bill Tang 氏、Dave Treadwell 氏、Fred Whiteside 氏らの多大なるご支援のもと、Mark Towfiq 氏によってまと め上げられたものです。」

0.2 - 保守担当者について少し

私は Warren Young という者で、この FAQ を(大雑把に言って)維持 している者です。私自身は Winsock を使うプログラムを書いて約5年に なります。Winsock 以外の TCP/IP についてはさらに長い経験がありま す。

0.3 - 法的な問題について

ここにあるページは著作権により保護されています。あなたはこれ らのページをネット上で読んでも良いですし、あなたの手元のマシンの ハードディスクにダウンロードしてオフラインで読んでも構いません。 その他の全ての権利 -- 特に一般公開と配布について。ただしそ れに限りません -- は全て著者に帰属します。一般公開の制 限については一つ例外を認めています: 認可したミラーサイトでは、こ のサイトの内容を完全に、修正せずに公開することを許可しています。

このサイトの情報は、その正確性、適切性、特定目的に対する適 合性などに関して、明示・黙示を問わず、いかなる種類の保証もありま せん。ここでの情報を利用することは、上記の条件に同意したとみなし ます。

0.4 - ミラーサイト

現在、このサイトの正式なミラーサイトはありません。もし、最新 のオフィシャルな FAQ が必要であれば、ブラウザで以下にアクセスし てください。

http://www.cyberport.com/~tangent/programming/winsock/

0.5 - 私の疑問がこの FAQ の中に載っていないときは?

私に Winsock についての質問をメールしてくる人がいますが、それ はそうするのが早く答えがもらえると考えるからでしょう。なんてったっ て、僕は Winsock のプロだからね! (うそうそ) でもこれは、一つの小 さな事実を無視しています。つまり、もしそれが私にも簡単に答えられ るようなものであれば、それはおそらくこの FAQ に既に載ってるはず なのですよ!

もう一つ、メールで質問に答えるのはもっと深刻な問題があります。 もし私がメールで答えたとすると、それはたった一人のためにしかなり ません。すると結局、私は同じ質問に何度も何度も答えなくてはならな くなるのです。これでは FAQ の意味がまったくありません。

Winsock の質問を行うのにもっと適している場所は、Usenet のニュー スグループやメーリングリストです。なぜなら、あなたの質問はたくさ んの人の目に触れ、それに対する答えはさらに多くの人の目に触れて役 に立つからです。またその答えはアーカイブされ、将来疑問を持った人 のために残るからです。そういった情報源については この FAQ 項目を参照してく ださい。

もしこれらの情報源からどうしても答えを見つけることができなかっ たのであれば、どうぞ私に メールしてください。ただし、私でもあまりお役に立てないかもし れません。なぜなら、私もこれらのメーリングリストやニュースグルー プの多くを読んでいるので、あなたがその中で答えを見つけることがで きなかったのであれば、私に直接メールしてもらってもあまり違いがあ るとは思えないからです。

0.6 - このFAQの更新のお知らせをするメーリングリストはありますか?

いいえ、今のところありません。ですが、私はこの FAQ の最新の 「新着情報」のセクションを、毎月ニュースグループ alt.winsock.programming に投稿しています。このニュースグループは非常に流量が少ないので (一日 10〜20 通程度)、この FAQ の最新状況をチェックするには、そ のニュースグループを購読するのが簡単です。

0.7 - 言語の偏り

この FAQ は C++ に偏っています。より正確には、この FAQ の中の プログラムは、C++ の機能をちらほらと使った C 言語のコードです。 私自身は、個人的なスタイルとして純粋な C 言語にこだわってはいま せんし、また Windows 上の C コンパイラはみんな C++ のコードもコ ンパイルできるものばかりだからです。今は、いくつかのサンプルでは 完全にオブジェクト指向な C++ コードを使っているものもあります。 これらは、さまざまな Winsock のクラスライブラリを説明したり、GUI プログラムであったりするためです。私は MFC ではそうしています。

他の言語を使っていない理由は他にもたくさんあります。

  1. 私はこの FAQ の中では一つだけの言語を使いたいと考えています。 C 言語は Windows プログラミングの「共通語」と言えるので、読者は 少なくとも C 言語を読むことができて、自分の使っている言語に変換 することは十分できるだろうと仮定することができるからです。
  2. Winsock の API 自身が、C 言語の概念に偏っています。なぜなら Winsock 自体が、 C 言語中心である Unix 世界のバークレーソケット API から派生したものだからです。
  3. Delphi や Java といったその他のメジャーな言語ではほとんど、 Winsock とお話しするための独自の方式を持っています。これはプログ ラマー的視点から見ると、本当の Winsock API とはほとんど関係があ りません。たとえば Delphi では、Winsock をプログラムするための適 切な方法は Winsock コントロールを利用することであって、その下に ある API を使うことではありません。

影響のある問題としては、たとえば Visual Basic はこの FAQ では 触れられていません。FAQ 中の情報 源の章や、Winsock は『私の 好きな言語』で使うことができますか?という項目が役に立つかも しれません。

0.8 - プロトコルの偏り

このFAQでは、現時点では TCP/IP トランスポートプロトコル群のみ を取り扱っています。これは単に、私が他のトランスポート層を使って プログラムしたことがないからです。Winsock は 他にも多くのトランスポート層を サポートしていますが、私は、それらについての情報を探し出すことに ついてさえもお手伝いすることができません。私にできることといえば おなじみの情報源、つまりニュースグループ、Winsock の仕様とそのト ランスポートごとの個別の付録、および MSDN があるということくら いです。

0.9 - 謝辞

FAQとは単独で存在するものではありません。自分の知識を皆と共有 することを厭わない忍耐強いグル(ベテラン)達から、くだらない同じ質 問を何度も投稿する礼儀知らずの初心者の集団まで、たくさんの人々が 関わっています。グル達がいなければ正確にはなり得ませんし、初心者 達がいなければFAQの糧ができません。そして初心者から羽ばたこうと するみんながいなければ、FAQの存在価値がありません。

私の最初の貢献は、前述したように、Mark Towfiq 氏のオリジナル の FAQ でした。既にその原型はほとんど残ってはいませんが、このFAQ の核となりました。実際、そもそも私は FAQ を作ろうなどと決心しな かったかもしれないのです。しかし、既に存在していた、しおれそうな FAQ が私を突き動かしたのでしょう。

Bob Quinn 氏(Windows Sockets Network Programming で有名な)は、常に正確な指摘と、数々の FAQの質問についてインスピレーションを与えていただきました。

Philippe Jounin 氏はまた違った視点から、非常に貴重なインプッ トを与えていただきました。その新しい視点によって、このFAQのいく らか視野狭窄だった部分が修正されました。

Alun Jones 氏からは私の数々の失敗を何度も指摘していただきまし た(私はそのことに感謝しています。本当に)。なんだかんだ言っても、 こういう修正は、FAQの情報の質を向上させるものですから。

2000年の春から、この FAQ には論説記事、プログラムコード、また 世界中のさまざまなWinsock屋さんから頂いた FAQ 項目が含まれるよう になりました。皆様の素晴らしいお仕事をパクらせていただいたことに 感謝します(それらの項目には、元の著者の名前を記しています)。

そしてもちろん、その他何十人もの方々からメールで、文章片、添 削、提案、情報源、その他もろもろいただきました。みなさん、ありが とう。


<< メインページ Winsock の一般的な情報 >>
Last modified: $Id: intro.html,v 1.5 2002/11/09 20:40:30 ksk Exp $ Go to the original FAQ page
< Go to the main FAQ page << Go to the Home Page