在C#中从网络流中读取

时间:2012-06-18 16:37:13

标签: c#-4.0 tcp networkstream

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

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

尽管分配的字节数组rcvPacket的大小大于其中包含的元素数量。这将允许我只读取所需的元素长度,以便我在包含零的字节数组中没有元素。

虽然我试图在C#上使用类似的东西

long len = networkStream.length;

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

谢谢

1 个答案:

答案 0 :(得分:1)

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

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