我有一个基于套接字的应用程序,它使用BinaryReader
客户端上的对象公开接收到的数据。我一直在尝试调试读取器中包含的数据不干净的问题......即我正在读取的缓冲区包含超过新数据大小的旧数据。
在下面的代码中:
System.Diagnostics.Debug.WriteLine("Stream length: {0}", _binaryReader.BaseStream.Length);
byte[] buffer = _binaryReader.ReadBytes((int)_binaryReader.BaseStream.Length);
当我注释掉第一行时,数据最终不会像我有那个打印行语句时那样变脏(或者,不会像通常那样变脏)。据我所知,来自服务器端的数据是干净的,所以我的套接字实现可能存在一些问题。但是有谁知道为什么添加该打印行会导致数据更频繁地变脏?