我有一个开放的 TCP 连接,并使用 NetworkStream.BeginRead() 进行读取。一旦在任一端关闭连接,就会调用回调并且流对象是无用的 - 就像文档说的那样,EndRead() 抛出 IOException 或 ObjectDisposedException 取决于在这种情况下终止连接的一端。
是否保证在最后一次成功的 EndRead(和 re-BegingRead)和断开连接之间没有任何数据丢失,特别是如果我在最后这样做?如果不是,如果我结束连接,我是否必须在断开连接时手动 NetworkStream.Read() 以确保没有任何未读的内容?