【发布时间】:2011-06-12 00:26:48
【问题描述】:
有人可以帮我解决 asihttprequest 吗?
我想跟踪我下载的每个文件的下载速度,而不是所有文件的平均速度。
对于所有下载的平均速度,有[ASIHTTPRequest averageBandwidthUsedPerSecond]
但是我可以用什么来跟踪每次下载?
谢谢
【问题讨论】:
标签: iphone ios performance request asihttprequest
有人可以帮我解决 asihttprequest 吗?
我想跟踪我下载的每个文件的下载速度,而不是所有文件的平均速度。
对于所有下载的平均速度,有[ASIHTTPRequest averageBandwidthUsedPerSecond]
但是我可以用什么来跟踪每次下载?
谢谢
【问题讨论】:
标签: iphone ios performance request asihttprequest
考虑到 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,它将获得一个请求:didReceiveBytes:每次收到一些数据时调用 - 您可以使用它来计算下载速度。
请参阅此处的文档:
http://allseeing-i.com/ASIHTTPRequest/How-to-use#custom_progress_tracking
【讨论】: