0

我只是在从 C# 中的网络流中读取时遇到了这个问题。由于我更像是一名 Java 开发人员,因此我遇到了这个问题。

在java中,我可以选择使用以下代码知道接收到的数据包的长度 int length = dataiInputStream.read(rcvPacket);

即使分配的字节数组 rcvPacket 的大小大于其中包含的元素数量。这将允许我只读取所需长度的元素,这样我的字节数组中就没有包含零的元素。

当我试图在 C# 上使用类似的东西时

long len = networkStream.length;

但是文档说不支持此属性。有解决方法吗?

谢谢

4

1 回答 1

1

Java 代码不会显示数据包的长度。它向您显示了该调用中读取的数据量,这些数据read可能来自多个数据包。

NetworkStream.Read返回相同的信息,除了使用 0 而不是 -1 来指示流的结束。

于 2012-06-18T16:44:45.657 回答