0

伙计们。我的文件中有这段代码。

AFHTTPClient *_client = [[AFHTTPClient alloc] initWithBaseURL:[NSURL URLWithString:@"http://192.168.1.1/file/download/"]];
[_client registerHTTPOperationClass:[AFHTTPRequestOperation class]];
[_client setDefaultHeader:@"Content-Type" value:@"application/json;charset=utf-8"];
[_client setDefaultHeader:@"Accept" value:@"*/*"];
[_client setDefaultHeader:@"Content-Length" value:@"858663"];

NSURLRequest *request = [_client requestWithMethod:@"GET" path:@"a.png" parameters:nil];
AFHTTPRequestOperation *operation = [[AFHTTPRequestOperation alloc] initWithRequest:request];
[operation setDownloadProgressBlock:^(NSUInteger bytesWritten, long long totalBytesWritten, long long totalBytesExpectedToWrite) {
    NSLog(@"download %lld/%lld bytes", totalBytesWritten, _task.fileTotalBytes);
}];

[operation setCompletionBlockWithSuccess:^(AFHTTPRequestOperation *operation, id responseObject) {
    //some code       
} failure:^(AFHTTPRequestOperation *operation, NSError *error) {
    //some code
}];

[_client enqueueHTTPRequestOperation:operation];

下面是控制台上的下载文件日志输出。

23:55:13.731 MyP 下载 1258/858663 字节 23:55:14.566 MyP 下载 815538/858663 字节 23:55:14.567 MyP 下载 844994/858663 字节 23:55:34.352 MyP 下载 847874/858663 字节 MyP 23:5.下载 849314/858663 字节 23:55:34.362 MyP 下载 850754/858663 字节 23:55:34.364 MyP 下载 852186/858663 字节 23:55:34.366 MyP 下载 853626/858663 字节 23:55:25366/85863 字节 6688 字节:55:34.374 MyP 下载 856506/858663 字节 23:55:34.375 MyP 下载 857946/858663 字节 23:55:34.375 MyP 下载 858663/858663 字节

为什么最后几个块文件花费 20 秒?

特别是 23:55:14.567 MyP 下载 844994/858663 字节
到 23:55:34.352 MyP 下载 847874/858663 字节

似乎线程休眠了 20 秒。

4

1 回答 1

0

我修复了。只需删除行 [_client setDefaultHeader:@"Content-Length" value:@"858663"];

于 2013-04-08T08:03:28.543 回答