while(remaining > 0)
{
int read = stream.Read(buffer, offset,intSpeed);
      if (read <= 0) throw new EndOfStreamException("文件读取到"+read.ToString()+"失败!");
      // 减少剩余的字节数
      remaining -= read;
      //向客户端写文件流
HttpContext.Current.Response.OutputStream.Write(buffer,0,read);
byte[] newBuf = new byte[intSpeed];
buffer = newBuf;//重新设定buffer指针
//HttpContext.Current.Response.End();
//加入sleep控制
System.Threading.Thread.Sleep(5000);
}//加入sleep控制,加入了System.Threading.Thread.Sleep(5000); 程序就没有继续执行了。我想实现的是:当向客户端写入一次流后,暂停5秒,然后再继续执行while片段。各位帮看看,应该如何修改一下?

解决方案 »

  1.   

    while(remaining > 0) 

    int read = stream.Read(buffer, offset,intSpeed); 
          if (read <= 0) throw new EndOfStreamException("文件读取到"+read.ToString()+"失败!"); 
          // 减少剩余的字节数 
          remaining -= read; 
          //向客户端写文件流 
    HttpContext.Current.Response.OutputStream.Write(buffer,0,read); 
    byte[] newBuf = new byte[intSpeed]; 
    buffer = newBuf;//重新设定buffer指针 
    //HttpContext.Current.Response.End(); 
    //加入sleep控制 
    System.Threading.Thread.Wait(5000); 
    }
      

  2.   

    好像与我发的一样的吧?没有改动?我上面那段代码就是有问题,感觉没达到我想要的效果,目的就是将服务器第一次向客户端写入50kb的数据流,然后休眠5秒,再发送50kb,再休眠,这样最后把文件流全写到客户端。
      

  3.   

    System.Threading.Thread.Sleep(5000); 
    估计不行 换用timer试下