1

socket()関数を使用しaccept()て、Linux および Windows で取得するソケット記述子の最大値は?

4

2 に答える 2

2

Windows では、ソケットは Linux のような「小さな整数」ではなく、不透明な「ハンドル」です。

したがって、ある種の最大値を知ることにはさらに価値がありません。たとえば、プラットフォームの最大ポインターと同じである可能性があります。

詳細については、このドキュメント ページを参照してください。

于 2012-11-09T14:21:22.583 に答える
1

通常、最大値は、そのプロセスによって同時に開かれるファイル記述子の数と同じになります。

ただし、どの標準でもそのように定義されているAFAIKではありません。

ソケット記述子は であるintため、理論値は ですがINT_MAX、これにより、呼び出しのようなselect実装がやや難しくなるため、順次割り当てられるだけです。

于 2012-11-09T14:15:49.877 に答える