Мне нужно ударить сотни запросов одновременно с загрузкой файлов. Я использую AFNetworking, и я просто вызываю метод из цикла for. Но это дает мне внутреннюю ошибку сервера в некоторых файлах. На стороне сервера ничего нет. Этот процесс успешно выполняется из Интернета.Хит сотни запросов одновременно с использованием AFNetworking
Вот мой код:
for (UIImage *img in imgages) {
[self uploadImage:img];
}
-(void) uploadImage:(UIImage *)image
{
// NSDictionary *[email protected]{x:x }
NSData *jsonData = [NSJSONSerialization dataWithJSONObject:someData
options:0
error:nil];
NSMutableURLRequest *request = [[AFHTTPRequestSerializer serializer] multipartFormRequestWithMethod:@"POST" URLString:[BASE_URL stringByAppendingString:@"xyz.com"] parameters:nil constructingBodyWithBlock:^(id<AFMultipartFormData> formData) {
[formData appendPartWithFormData:jsonData name:@"abc"];
if (imgData) {
[formData appendPartWithFormData:imgData name:@"file"];
}
} error:nil];
AFURLSessionManager *manager = [[AFURLSessionManager alloc] initWithSessionConfiguration:[NSURLSessionConfiguration defaultSessionConfiguration]];
NSURLSessionUploadTask *uploadTask;
manager.responseSerializer = [AFHTTPResponseSerializer serializer];
uploadTask = [manager
uploadTaskWithStreamedRequest:request
progress:nil completionHandler:^(NSURLResponse * _Nonnull response, id _Nullable responseObject, NSError * _Nullable error) {
}];
[uploadTask resume];
}
Что бы быть лучшим способом для реализации выше функциональности?
Какая у вас ошибка? iOS имеет ограничение на одновременный запрос для каждого хоста, но если это то, что вы испытываете, вы будете получать тайм-ауты от чрезмерных запросов. – Avi
попробуйте использовать 'dispatch_apply' вместо fo-loop – Enix
@Vikas Просьба принять ответ, если его рабочий –