其他语言

本类阅读TOP10

·基于Solaris 开发环境的整体构思
·使用AutoMake轻松生成Makefile
·BCB数据库图像保存技术
·GNU中的Makefile
·射频芯片nRF401天线设计的分析
·iframe 的自适应高度
·BCB之Socket通信
·软件企业如何实施CMM
·入门系列--OpenGL最简单的入门
·WIN95中日志钩子(JournalRecord Hook)的使用

分类导航
VC语言Delphi
VB语言ASP
PerlJava
Script数据库
其他语言游戏开发
文件格式网站制作
软件工程.NET开发
原来对下载文件进行速度限制这么简单(ISAPI)

作者:未知 来源:月光软件站 加入时间:2005-2-28 月光软件站

以前在ASP中一直解决不了下载速度的限制的问题,用ISAPI原来可以这么轻松搞定


void CBinaryWrite::Default(CHttpServerContext* pCtxt)
{
 char buf[1024];

 pCtxt->GetServerVariable("HTTP_ALL",buf,1024);

 this->AddHeader(pCtxt,"Content-type = image/jpeg\r\n");
 this->AddHeader(pCtxt,"Content-type = text/plain\r\n");

 StartContent(pCtxt);

 CFile f;
 f.Open("d:\\PHOTO-055.JPG",CFile::modeRead);

 ULONG flen=f.GetLength();
 ULONG bRead=0;
 ULONG bRealRead=0;


 while (bRead<flen)
 {
  bRealRead=f.Read(buf,(flen-bRead>1024)?1024:(flen-bRead));
  pCtxt->WriteClient(buf,&bRealRead);

  bRead+=bRealRead;
  Sleep(500);

 }

 f.Close();
 EndContent(pCtxt);
}

关键就是这个Sleep,可以放弃CPU资源,让下载过程暂停一定时间,这样通过控制这个暂停的时间,就可以控制速度




相关文章

相关软件