C#.Net 3.5で開発されたソケットサーバーがあります。私は、クライアントが切断して接続するたびにサーバのメモリ使用量が増加することを知っています。有効な資格情報が提供されていない場合、サーバーはクライアントの接続を切断します。ソケットサーバーのメモリが増え続ける
クライアントが無効な資格情報で接続しようとすると、より多くのメモリが予約され、一度も放棄されたことはありません。クライアントは毎秒1回再接続しようとしています。以下は、切断を処理するコードです。このコードは、クライアントの接続が切断され、読み書き操作でエラーが発生するたびに呼び出されます。
誰かがこの問題をデバッグ/修正する方法を教えてくれますか?
クライアントごとに1つのスレッドを使用していますか?あなたがソケットとストリームの置換/閉じるを呼び出す場合、あなたはうまくいくはずですか?それ以外の場合は、メモリプロファイラを使用することをお勧めします。 – weismat