BinaryReader
クライアント側のオブジェクトで受信データを公開するソケットベースのアプリケーションがあります。リーダーに含まれるデータがクリーンではないという問題をデバッグしようとしています...つまり、読み込んでいるバッファには、新しいデータのサイズを超えた古いデータが含まれています。
以下のコードでは:
System.Diagnostics.Debug.WriteLine("Stream length: {0}", _binaryReader.BaseStream.Length);
byte[] buffer = _binaryReader.ReadBytes((int)_binaryReader.BaseStream.Length);
最初の行をコメントアウトすると、その print line ステートメントがあるときのように、データがダーティになることはありません (または、通常のようにダーティになることはありません)。私が知る限り、サーバー側からのデータは問題なく入ってくるので、ソケットの実装に問題がある可能性があります。しかし、その印刷行を追加するとデータがより頻繁にダーティになる理由を誰かが知っていますか?