ストックデータを受信し、ソケットを介して別のアプリケーションに転送する C++ アプリケーションがあります (サーバーとして機能します)。
実際には、WSASend
関数は数秒後にエラーコード 10055 で戻り、それがエラーメッセージであることがわかりました
「利用可能なバッファスペースがありません。システムに十分なバッファスペースがないか、キューがいっぱいだったため、ソケットでの操作を実行できませんでした」。
問題が発生するのは、数分で 1 日分のデータ (約 130 MB) を受信しているため (これは比較的大きいと思います)、市場時間後にアプリケーションを実行した場合にのみ発生します (これは比較的大きいと思います)。これは堅牢性テストとして行っています。
関数を使用して送信バッファ SO_SNDBUF を増やそうとしましたsetsockopt
が、同じ問題がまだ残っています。どうすればこの問題を解決できますか? これは受信バッファに関連していますか?
送信の詳細:
完全なメッセージごとに、重複したソケットを使用する send メソッドを呼び出します
編集:誰かがC++で高周波データを処理するための一般的なガイドラインを与えることができますか?