次の方法で共有


Windows ソケット : ポートとソケット アドレス

この記事では、Windows ソケットで使用される "ポート" と "アドレス" という用語について説明します。

Port

ポートは、サービスの提供が可能な一意のプロセスを識別します。 現在のコンテキストでは、ポートは Windows ソケットをサポートしているアプリケーションに関連付けられています。 1 台のマシンで同時に複数の Windows ソケット アプリケーションを実行できるように、各 Windows ソケット アプリケーションを一意に識別しようというアイデアです。

特定のポートは、FTP などの一般的なサービス用に予約されています。 その種類のサービスを提供しているのでなければ、これらのポートの使用は避ける必要があります。 これらの予約済みポートについては、Windows ソケットの仕様に詳しく記載されています。 WINSOCK.H ファイルにも、それらの一覧があります。

使用可能なポートが Windows ソケット DLL によって自動的に選択されるようにするには、ポート値として 0 を渡します。 MFC では、10 進数で 1,024 より大きいポート値が選択されます。 MFC によって選択されたポート値を取得するには、CAsyncSocket::GetSockName メンバー関数を呼び出します。

ソケット アドレス

各ソケット オブジェクトは、ネットワーク上のインターネット プロトコル (IP) アドレスに関連付けられています。 通常、アドレスは "ftp.microsoft.com" などのマシン名か、"128.56.22.8" などのドット区切りの数字です。

ソケットを作成しようとする場合、通常は自分自身のアドレスを指定する必要はありません。

Note

マシンに複数のネットワーク カードがあり (または、いつかそのようなマシンでアプリケーションが実行する可能性があり)、それぞれが異なるネットワークを表している場合があります。 その場合は、ソケットがどのネットワーク カードを使用するかを指定するアドレスを設定しなければならないことがあります。 これは確かに高度な使用方法であり、移植性の問題が発生する可能性があります。

詳細については、以下を参照してください:

関連項目

MFC における Windows ソケット