次の方法で共有


Windows ソケット : 予備知識

ここでは、Windows ソケットの特性と目的を説明します。また、" HOWTO:

  • 定義する用語" を "ソケット。

  • ソケットのハンドルのデータ型を記述します。

  • ソケットの使用について説明します。

Windows ソケットの仕様は、Microsoft Windows の binary 互換性のあるネットワーク プログラミング インターフェイスを定義します。Windows ソケットは州立拡張 (カリフォルニア校から Berkeley Software Distribution Release 4.3)、(BSD ソケットの UNIX の実装に基づいています。仕様は、Windows に固有の BSD ソケット スタイルの両方のルーチン、および拡張機能が含まれます。Windows ソケットの代入を使用して Windows ソケット API 準拠するネットワーク経由で通信するアプリケーション。Win32 で、Windows ソケットはスレッド セーフを提供します。

Transmission Control Protocol/Internet Protocol (TCP/IP)、Xerox Network System (XNS)、Digital Equipment Corporation's DECNet protocol、Novell Corporation's Internet Packet Exchange/Sequenced Packed Exchange (IPX/SPX) などを含むネットワーク プロトコル配下で、多くのネットワーク ソフトウェア ベンダーが Windows Sockets をサポートしています。 現在の Windows ソケット仕様で TCP/IP ソケットの抽象化を定義し、どのネットワーク プロトコルが Windows ソケットに、ダイナミック リンク ライブラリ (DLL) 独自のバージョンを指定して、実装の Windows ソケットを使用できます。Windows ソケットで書き込まれました (商用アプリケーションの例では X Windows Server、ターミナル エミュレーターおよび電子メール システムが含まれます。

[!メモ]

Windows ソケットの目的は、基になるネットワークを抽出することで、ネットワークについて知識が不要なため、アプリケーションでは、任意のネットワークでのソケット サポートを実行できるようにします。その結果、このドキュメントでは、ネットワーク プロトコルの詳細については説明しません。

Microsoft Foundation Class ライブラリ (MFC) は、2 種類のクラスを指定して、Windows ソケット API を使用したプログラミングをサポートします。これらのクラスの 1 つが、CSocket、抽象化により、ネットワーク通信プログラミングを簡単にするための高水準を提供します。

Windows ソケット仕様、Windows ソケット: バージョン 1.1 で Microsoft Windows の下に、計算するネットワークの開いているインターフェイスは、TCP/IP のコミュニティの個人と、企業の多数ように開いているネットワークの標準開発および使用に自由に使用できます。インターネット プロトコルのスイートを使用して通信モデルで 1 "のドメイン" を、現在プログラムするソケット。仕様は Windows SDKで使用できます。

ヒントヒント

ソケットでインターネット プロトコルのスイートを使用するため、情報ハイウェー "の" インターネット通信をサポートするアプリケーションの優先ルートです。

ソケットの定義

ソケットは通信エンドポイント— Windows ソケット アプリケーションがネットワーク経由でデータ パケットが送受信するオブジェクトです。ソケットは、型の実行中のプロセスに関連付けられ、名前を持つ場合があります。現在、"コミュニケーション同じドメインの他のソケットでのみ一般に、ソケット データ交換"、インターネット プロトコルのスイートを使用します。

どちらのソケットは双方向;。これらはいずれの方向で同時に伝えることができるデータ フローです (双方向通信)。

2 個のソケットの種類を使用できます。:

  • ストリーム ソケット

    ストリーム ソケットにはレコードの境界のないデータ フローが用意されています: バイトのストリーム。ストリームが正しく渡され、シーケンス化および unduplicated するとは限りません。

  • データグラム ソケット

    データグラム ソケットで提供されることが保証されるサポートし、送信または unduplicated ように、配列されることがあります。レコード指向のデータをフロー。

"パケットが送信される順序で渡される配列" されたことを意味します。"Unduplicated" は一度だけ特定のパケットを取得することを意味します。

[!メモ]

ネットワーク プロトコルの下に、XNS など、ストリームはバイトのストリームではなくレコードのストリームとして、に繰り返すレコードです。ただし、共通の TCP/IP プロトコルの下にストリームはバイト ストリームです。Windows ソケットは、基になるプロトコルに依存しない抽象化のレベルを提供します。

これらの型については、どちらので使用する種類のソケット Windows ソケット: ストリーム ソケットWindows ソケット: データグラム ソケットを参照してください。

ソケット データ型

各 MFC ソケットのオブジェクトは、Windows ソケット オブジェクトへのハンドルをカプセル化します。このハンドルのデータ型は [ソケット]です。[ソケット] のハンドルはウィンドウの HWND に似ています。MFC ソケットのクラスは、カプセル化されたハンドルでの操作を提供します。

[ソケット] のデータ型は Windows SDKで詳しく説明します。Windows ソケットの下に "ソケット データ型とエラー値" を参照してください。

ソケットの使用

ソケットは 3 文字以上の通信コンテキストに便利です:

  • クライアント/サーバモデル。

  • メッセージ アプリケーションなど、シナリオ、ピアツーピア。

  • リモート プロシージャ コール (RPC) を受信するアプリケーションを追加することによりしての関数呼び出しとしてメッセージを解釈します。

ヒントヒント

MFC ソケットを使用するための最適な場合に、通信の両方の終了を記述しているときです: 両端に MFC を使用する。このトピックの詳細については、非 MFC アプリケーションとの通信を実行中に含まれているケースを管理する方法を、Windows ソケット: 命令サイズ]を参照してください。

詳細については、Windows ソケットの仕様を参照: ntohsntohlhtonshtonl。または、次のトピックを参照:

参照

概念

MFC における Windows ソケット