我在 NetworkStream 之上使用 BinaryReader 从网络中读取数据。这对我来说非常有效,但我想了解幕后发生的事情,所以我查看了 BinaryReader 的文档,发现它非常稀疏。
我的问题是:如果我打电话时网络流上不存在字节怎么BinaryReader.ReadBytes(bufferSize)
办?bufferSize
ReadBytes
在我看来,有几个选择:
1)读取网络流中存在的任何字节并仅返回那么多
2)等到bufferSize
流中存在字节,然后读取
3)抛出异常
我假设选项 2 正在发生,因为我从未收到任何异常,并且我的所有数据都是完整接收的,而不是分段接收的。但是,我想确切地知道发生了什么。如果有人能启发我,我将不胜感激。