问题描述
||
有人可以通过asihttprequest帮助我吗?
我想跟踪我下载的每个文件的下载速度,而不是所有文件的平均速度。
对于所有下载的平均速度,
[ASIHTTPRequest averageBandwidthUsedPerSecond]
但是我可以使用什么来跟踪每次下载?
谢谢
解决方法
考虑到ASI已死,我最近不得不在一个较旧的项目上执行此操作。如果有人需要帮助:
-(void)request:(ASIHTTPRequest *)request didReceiveBytes:(long long)bytes
{
if (!lastBytesReceived)
lastBytesReceived = [NSDate date];
NSTimeInterval interval = [[NSDate date] timeIntervalSinceDate:lastBytesReceived];
float KB = (bytes / 1024);
float kbPerSec = KB * (1.0/interval); //KB * (1 second / interval (less than one second))
NSLog(@\"%llu bytes received in %f seconds @ %0.01fKB/s\",bytes,interval,kbPerSec);
lastBytesReceived = [NSDate date];
}
, 您可以为每个请求设置一个downloadProgressDelegate,每次收到一些数据时,都会得到一个request:didReceiveBytes:调用-您可以用它来计算下载速度。
请参阅此处的文档:
http://allseeing-i.com/ASIHTTPRequest/How-to-use#custom_progress_tracking