Bittorrent クライアントを実装しようとしています。異なるピアからピースを受け取るために、クライアントは複数のソケットを管理する必要があります。
私が知っているよく知られた解決策は
select()
呼び出し、ノンブロッキング I/O を使用します。
最初の解決策では、必要なスレッドが多すぎます。2 番目の解決策は、最大 50 個のソケットをチェックし続けるため、CPU 時間を浪費します。また、3 番目のソリューションを使用することを決定したとき、1 つのプロセスが使用するスレッドの数がわかりません。
かなり大きなファイルを受け取るには、どのソリューションが最適ですか?
良い解決策を教えてくれる Web ページはありますか?
どんなアドバイスも素晴らしいでしょう。