如何在iPhone中执行延迟测试

san*_*ndy 4 cocoa-touch network-programming objective-c network-protocols ios4

我想对我的iPhone应用程序中的不同URL执行延迟测试,一种方法是对URL进行异步请求,并根据控件到达connectionDidFinish委托的时间来测量持续时间,这是正确的方法吗或iPhone中的一些替代品来衡量延迟时间?

Nic*_*ver 5

我不确定你如何定义延迟.查看Wiki文章以获得一些澄清.

我将了解响应时间,以了解网络滞后的情况,在移动连接中非常有趣.我在我开发的一个应用程序中使用这种方法:

- (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);
    ...
}
Run Code Online (Sandbox Code Playgroud)

模拟器测试的节流带宽可能非常有用.