アプリケーションが使用できるソケットの最大数

重要: このサポート技術情報 (以下「KB」) は、翻訳者による翻訳の代わりに、マイクロソフト機械翻訳システムによって翻訳されたものです。マイクロソフトは、お客様に、マイクロソフトが提供している全ての KB を日本語でご利用いただけるように、翻訳者による翻訳 KB に加え機械翻訳 KB も提供しています。しかしながら、機械翻訳の品質は翻訳者による翻訳ほど十分ではありません。誤訳や、文法、言葉使い、その他、たとえば日本語を母国語としない方が日本語を話すときに間違えるようなミスを含んでいる可能性があります。マイクロソフトは、機械翻訳の品質、及び KB の内容の誤訳やお客様が KB を利用されたことによって生じた直接または間接的な問題や損害については、いかなる責任も負わないものとします。マイクロソフトは、機械翻訳システムの改善を継続的に行っています。

英語版 KB:111855
この資料は、アーカイブされました。これは "現状のまま" で提供され、更新されることはありません。
概要
特定の Windows ソケットをサポートするソケットの最大数サプライヤーは、実装に固有です。アプリケーションする必要がありますなしソケット数の仮定します。
詳細
Windows ソケットの実装の詳細は、WSAData に記載されています。WSAStartup() によって返され、次のように定義されている構造。
struct WSAData {     WORD          wVersion;     WORD          wHighVersion;     char           szDescription[WSADESCRIPTION_LEN+1];     char          szSystemStatus[WSASYSSTATUS_LEN+1];     unsigned short     iMaxSockets;     unsigned short     iMaxUdpDg;     char FAR *     lpVendorInfo};				
Windows NT の WSAStart() からのリターン
   iMaxSockets = 0x7fff (32767)				
ここで、iMaxSockets、1 つのプロセスのソケットの最大数です。可能性があります開くことができます。Windows ソケットの実装は、ソケット プールを提供できる、任意のプロセスへの割り当てや、ソケットのプロセスごとのリソースを割り当てることができます。数は、Windows ソケット DLL またはネットワーク ソフトウェアが構成された方法を反転できます。数は、アプリケーションで Windows ソケットの実装を使用するかどうかを示す値としてアプリケーションを作成するときにも使用できます。

たとえば、起動時に、X Windows サーバー iMaxSockets を確認可能性があります。ソケットの数が 8 未満の場合は、エラーをアプリケーションが表示されます。ネットワーク ソフトウェアを再構成するのには、ユーザーのメッセージです。(このszSystemStatus のテキストを使用することができますがあります。)あるので、ほかの Windows ソケット アプリケーションで使用、特定のアプリケーションが iMaxSockets のソケットは、実際に割り当てられることの保証はありません。

ただし、サポートでは、特定のソケットの数に依存しません。実装では、ソケットの最大数の問題その、アプリケーションは、実際に使用できます。

Windows ソケット アプリケーションで使用できるソケットの最大数は、マニフェスト定数 FD_SETSIZE をコンパイル時に決定されます。これは、Win32 SDK の WINSOCK からにします。H:
/* * Select uses arrays of SOCKETs. These macros manipulate such * arrays. FD_SETSIZE may be defined by the user before including * this file, but the default here should be >= 64. * * CAVEAT IMPLEMENTOR and USER: THESE MACROS AND TYPES MUST BE * INCLUDED IN WINSOCK.H EXACTLY AS SHOWN HERE. */ #ifndef FD_SETSIZE#define FD_SETSIZE      64#endif /* FD_SETSIZE */ 				
この値は、select() を使用、fd_set 構造を作成するために使用されます。WINSOCK の既定値です。H は 64 です。アプリケーションに設計されている場合64 のソケットを使用して作業できるマニフェストを定義します。FD_SETSIZE WINSOCK などの前にすべてのソース ファイルにします。H. の 1 つの方法これは、定義内のコンパイラ オプションを含むように、メイクファイル、ような追加の DFD_SETSIZE コンパイラのオプションとしての 128 を =Microsoft C のコマンド ・ ライン

注: FD_SETSIZE として特定の値を定義する、Windows ソケットの実装によって提供されるソケットの実際の数には影響しません。
tcpip のエラー

警告: この記事は自動翻訳されています

プロパティ

文書番号:111855 - 最終更新日: 12/04/2015 10:00:28 - リビジョン: 5.0

  • kbnosurvey kbarchive kbnetwork kbmt KB111855 KbMtja
フィードバック