原来对下载文件进行速度限制这么简单(ISAPI)

王朝other·作者佚名  2006-01-09
窄屏简体版  字體: |||超大  

以前在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资源,让下载过程暂停一定时间,这样通过控制这个暂停的时间,就可以控制速度

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航