Как выполнить тест задержки в iPhone - PullRequest
4 голосов
/ 02 февраля 2011

Я хотел бы выполнить тест задержки в отношении различных URL-адресов в моем приложении для iPhone. Подход может состоять в том, чтобы сделать асинхронный запрос для URL-адреса и измерить продолжительность времени на основе того, когда элемент управления достигает в делегате connectionDidFinish,правильный подход или некоторые альтернативы, доступные в iPhone для измерения времени ожидания?

Ответы [ 2 ]

5 голосов
/ 01 мая 2011

Я не уверен, как вы определяете задержку.Посмотрите на статью вики для некоторых разъяснений.

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

- (NSURLRequest *)connection:(NSURLConnection *)connection willSendRequest:(NSURLRequest *)request redirectResponse:(NSURLResponse *)redirectResponse
{  
    ...
    self.reqStart = [NSDate date];
    self.url = [[request URL] absoluteString];
    NSLog(@"--> Requesting : %@", url);
    ...
}

- (void)connection:(NSURLConnection *)connection didReceiveResponse:(NSURLResponse *)aResponse
{
    NSLog(@"<-- Response time %fs : %@", [[NSDate date] timeIntervalSinceDate:reqStart], url);
    ...
}

- (void)connectionDidFinishLoading:(NSURLConnection *)connection
{
    NSLog(@"<== Request time %fs : %@", [[NSDate date] timeIntervalSinceDate:reqStart], url);
    ...
}

Пропускная полоса пропускания для тестирования на симуляторах может быть очень полезна.

0 голосов
/ 27 февраля 2011

Предоставьте доступ к аэропорту Mac на iPhone (подключите его к Ethernet).Затем используйте tcpdump на Mac для захвата сетевого трафика, используя Wireshark для просмотра pcap, это даст вам лучшее представление о задержке в сети.

...