как отслеживать скорость загрузки с помощью asihttprequest - PullRequest
6 голосов
/ 12 июня 2011

Может ли кто-нибудь помочь мне с asihttprequest?

Я хочу отслеживать скорость загрузки каждого загружаемого файла, а не среднюю скорость всех файлов.

Для среднего количества всехзагрузок, есть [ASIHTTPRequest averageBandwidthUsedPerSecond], но что я могу использовать для отслеживания каждой загрузки?

Спасибо

Ответы [ 2 ]

3 голосов
/ 02 октября 2012

Учитывая, что 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];
}
2 голосов
/ 12 июня 2011

Вы можете установить downloadProgressDelegate для каждого запроса, который будет получать запрос: didReceiveBytes: вызывать каждый раз, когда некоторые данные получены - вы можете использовать это для расчета скорости загрузки.

Смотрите здесь в документации:

http://allseeing -i.com / ASIHTTPRequest / Как в использовании # custom_progress_tracking

...