4

問題があります。サーバーリスナーの実装にboost::asioを使用していますが、接続されているソケットの数が1000〜1100を超える場合にboost :: asioを使用すると、「開いているファイルが多すぎます」というエラーが発生します。

どうすれば修正できますか?

ありがとう!

4

1 に答える 1

6

これはboost::asioの問題ではありません。これはOSレベルの問題です。コマンドラインで実行してみるulimit -aと、「開くファイル」に制限があることがわかります。これは、プロセスが所有できるファイル記述子の数です。変更することはできますが、それがエラーが発生する理由です。

このスタックオーバーフローの質問「Linuxで開くファイルの数の制限を変更するにはどうすればよいですか?」では、この制限を変更する方法について説明しています。簡単に言えば、それは特に簡単ではないということです。これはOSレベルの構成パラメーターです。

于 2013-01-28T16:03:15.323 に答える