2

TCP ソケットを使用する C/Linux でチャット サーバーを実装しました。現在、単一のプロセスを使用しており、select() を使用してサーバーがブロックされないようにしています。select() はかなり遅い方法であると読んだので、サーバーをより効率的なバージョンにアップグレードしようとしています。

私は現在 libevent を見ていますが、高速なサーバー コードの設計経験のある人が、利用可能な最速のテクノロジのいくつかについていくつかの指針を与えてくれることを望んでいました。libeventは堅実な選択ですか、それとも私が調べるべきもっと良いものがありますか?

どんな助けにも本当に感謝します!

4

1 に答える 1

1

Linux (のみ) の場合、epoll を使用できます。これは、ほとんどの場合 (すべてではありません) 高速です。

epoll の主な欠点は、Linux OS でのみサポートされている (移植性がない) ことです。

要約すると、epoll は非常に多数の記述子を監視でき、変更された記述子のみのリストを返します (記述子の元のリストをすべて渡す必要はありません)。

于 2012-02-12T10:27:14.393 に答える