我正在寻找一个类或一个库或任何可以让我获得当前下载速度的东西,我已经尝试了很多来自网络的代码,包括FreeMeter,但无法让它工作.
有些人可以提供任何类型的代码来提供这个简单的功能.
非常感谢
最佳答案 我猜你想要kb / sec.这是通过将kbreceived除以当前秒减去起始秒来确定的.我不知道如何在C#中使用DateTime,但在VC中它会是这样的:
COleDateTimeSpan dlElapsed = COleDateTime::GetCurrentTime()
- dlStart;
secs = dlElapsed.GetTotalSeconds();
你然后划分:
double kbsec = kbreceived / secs;
要获得kbyceived,您需要读取currentBytes,添加已读取的字节数,然后除以1024.
所以,
// chunk size 512.. could be higher up to you
while (int bytesread = file->Read(charBuf, 512))
{
currentbytes = currentbytes + bytesread;
// Set progress position by setting pos to currentbytes
}
int percent = currentbytes * 100 / x ( our file size integer
from above);
int kbreceived = currentbytes / 1024;
减去一些实现特定的功能,无论语言如何,基本概念都是一样的.