有没有办法完成TcpClient.GetStream()
的反转,意思是 - 获取与给定TcpClient
相关联的NetworkStream
?
如果没有,我还能如何获得可用数据的 金额 (不要与一般数据的可用性相混淆,这可以通过{{1在NetworkStream.DataAvailable
上?}
答案 0 :(得分:3)
没有这样的功能,至少没有我知道的功能。 Stream.Length在网络流上没有意义,因为您永远不知道剩余的数据量。也就是说,你可能在那里遇到了一个概念错误:网络流只是传递数据,没有办法知道流中剩下多少数据,因为另一端可以在理论上永远地连续发送数据。如果您想知道正在下载的文件的大小,则必须解析网络流的内容,假设正在使用的协议确实发送了这样的信息。