我只是在C#中读取网络流时遇到了这个问题。因为我更喜欢Java开发,所以我遇到了这个问题。
在java中,我可以使用下面的代码int length = dataiInputStream.read(rcvPacket);知道接收到的包的长度。
即使分配的字节数组rcvPacket的大小大于其中包含的元素数量。这将允许我只读取所需长度的元素,这样字节数组中就不会有包含零的元素。
当我尝试在C#上使用类似的东西时,
long len = networkStream.length;但文档说明此属性不受支持。有解决这个问题的办法吗?
谢谢
发布于 2012-06-19 00:44:46
Java代码不会显示数据包的长度。它显示了在该read调用中读取的数据量,这些数据可能来自多个数据包。
NetworkStream.Read返回相同的信息,只是使用0而不是-1来表示流的结束。
https://stackoverflow.com/questions/11087236
复制相似问题