我只是在C#中从网络流中读取这个问题。由于我更像是Java开发人员,因此我遇到了这个问题。
在java中,我有这个选项,可以使用以下代码知道接收到的数据包的长度
int length = dataiInputStream.read(rcvPacket);
尽管分配的字节数组rcvPacket的大小大于其中包含的元素数量。这将允许我只读取所需的元素长度,以便我在包含零的字节数组中没有元素。
虽然我试图在C#上使用类似的东西
long len = networkStream.length;
但文档说明不支持此属性。有解决方法吗?
谢谢
答案 0 :(得分:1)
Java代码不会显示数据包的长度。它显示了read
调用中读取的数据量,这可能来自多个数据包。
NetworkStream.Read
返回相同的信息,除了使用0表示流的结尾而不是-1。