为什么用StreamReader.Read方法会发送堵塞?

loskill 2008-06-14 01:00:09
private void GetFile(int size, StreamReader r)
{
char[] c = new char[512];
int i = 0, len = 0;
while (true)
{
i = r.Read(c, 0, 512);
len += i;
if (len >= size)
{
break;
}
}
}
上面的方法是用来下载文件的,但是如果文件较大时,比如说size=2036,那当read的时候,前几下read都没有事,但最后一个read会发生堵塞。
...全文
101 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
win7cc 2008-06-14
  • 打赏
  • 举报
回复
楼上不是吧,你四年工作经验了,却找不到工作啊
fuadam 2008-06-14
  • 打赏
  • 举报
回复
客户端通过http协议下载服务器端的数据时,实际上客户端的网卡现得到数据,然后再传到内存中。而网卡的速度是远低于内存速度的并一定能同步,所以未出现等待网卡接受数据而发生阻塞的情况

111,119

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • AIGC Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧