問題があります。サーバーリスナーの実装にboost::asioを使用していますが、接続されているソケットの数が1000〜1100を超える場合にboost :: asioを使用すると、「開いているファイルが多すぎます」というエラーが発生します。
どうすれば修正できますか?
ありがとう!
問題があります。サーバーリスナーの実装にboost::asioを使用していますが、接続されているソケットの数が1000〜1100を超える場合にboost :: asioを使用すると、「開いているファイルが多すぎます」というエラーが発生します。
どうすれば修正できますか?
ありがとう!
これはboost::asioの問題ではありません。これはOSレベルの問題です。コマンドラインで実行してみるulimit -a
と、「開くファイル」に制限があることがわかります。これは、プロセスが所有できるファイル記述子の数です。変更することはできますが、それがエラーが発生する理由です。
このスタックオーバーフローの質問「Linuxで開くファイルの数の制限を変更するにはどうすればよいですか?」では、この制限を変更する方法について説明しています。簡単に言えば、それは特に簡単ではないということです。これはOSレベルの構成パラメーターです。