当前位置:编程学习 > C#/ASP.NET >>

NetworkStream.Read 方法中的size到底是什么含义

tcpclinet中的NetworkStream的read方法
public override int Read(  byte[] buffer, int offset, int size)

size
The number of bytes to read from the NetworkStream. 
我就奇怪这个size了。

这是一个阻塞方法


如果这个size的意思是不是一直读到足够才返回?比如我设置100.每次客户端发送4个字节,25次,才应该完成一次读取。才能方法完成。

可是我发现,即使我设置为100.每次读取一次发送,就结束了。虽然客户端只是发送了4个字节?

这是怎么回事?

--------------------编程问答-------------------- 从偏移处开始夺取多少
--------------------编程问答-------------------- 读取的长度 --------------------编程问答--------------------
引用 1 楼 bdmh 的回复:
从偏移处开始夺取多少


我奇怪在到底是如何阻塞的。什么时候阻塞,什么时候这个方法执行完成。

比如我设置了size为100,是不是应该读取满100,才执行完这个方法?

可是实际上不是这样。无论size设置多大,读取一次客户端的发送,就结束了。

即使这个客户端,发送的只有8个字节的数据。 --------------------编程问答-------------------- 为什么不是阻塞到读取足够数目的size??

补充:.NET技术 ,  C#
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,