4

C でのネットワーク プログラミングに関する本を読んでいます。それは 2004 年のものです。コード例では、著者はselect C 関数を使用して、クライアントからの複数の接続を受け入れています。その機能は今日非推奨ですか?

pollepollなど、多重化された I/O を受け入れるさまざまな方法があることがわかりました。利点は何ですか?

4

2 に答える 2

8

非推奨ではなく、多くのプログラムが依存しています。

いくつかの制限があるため、最適なツールではありません。

  • ファイル記述子の数には制限があります (OS 固有で、通常はカーネルの再コンパイルで増やすことができます)。
  • (多くの fds で) うまくスケーリングしない: FD セット全体を維持し、selectそれを操作するときに再初期化する必要があります。

これらがあなたに関係ない場合は、自由に使用してください。それ以外の場合pollは、クロスプラットフォーム ソリューションを探している場合、またはまれにepoll/kqueueプラットフォーム固有の最適化されたソリューションを探している場合は /libevent を使用します。

于 2013-09-15T12:51:07.723 に答える