ASIHTTPRequest
을 사용하여 대기중인 요청을 100 개 이상 보냈지 만 서버에서 단일 IP가 1 분 내에 5 개 이상의 요청을 보낼 수 없다는 제한이 있습니다. ASIHTTPRequest
및 ASINetworkQueue
을 사용하면 어떻게 확인할 수 있습니까? 생각?분당 5 개 미만의 요청을 보내는 방법.
미리 감사드립니다.
카이.
ASIHTTPRequest
을 사용하여 대기중인 요청을 100 개 이상 보냈지 만 서버에서 단일 IP가 1 분 내에 5 개 이상의 요청을 보낼 수 없다는 제한이 있습니다. ASIHTTPRequest
및 ASINetworkQueue
을 사용하면 어떻게 확인할 수 있습니까? 생각?분당 5 개 미만의 요청을 보내는 방법.
미리 감사드립니다.
카이.
나는 생각하지 않는다 중 하나 ASINetowrkQueue의 NSOperationQueue이 두 가지 옵션 그래서 당신이 직접이 작업을 수행 할 수 있습니다 :
해결 방법 2) ASI 코드를 파고 들지 않아도되기 때문에 더 쉬울 수도 있지만 1) 분명히 명확하고 분명히 찾을 수있는 다른 사람들과 코드를 공유 할 수 있습니다. 유용합니다.
당신이 할 수있는 일은 요청을 빌드하고 AVMutableArray에 저장하고 당신의 요청이있을 경우 매 15 초 (15 * 5 = 60)를 확인하는 타이머를 갖는 것입니다. 당신은 당신이 넣어 서버로 보내는 대신 요청을 만들 때마다보다
@@synthesize queueTimer = _queueTimer;
@@synthesize requestsQueue = _requestsQueue;
- (void)viewDidLoad:
{
self.requestsQueue = [NSMutableArray array];
self.queueTimer = [NSTimer timerWithTimeInterval:15 target:self selector:@selector(sendRequest) userInfo:nil repeats:YES];
}
: 당신의 시간 파일의 예를 들어, 당신은 당신보다이 작성해야 당신의 m 파일에서
@property (nonatomic, retain) NSTimer *queueTimer;
@property (nonatomic, retain) NSMutableArray *requestsQueue;
- (void)sendRequest;
뭔가를 할 수 있습니다
: 여기[self.requestsQueue addObject:request];
그리고이 배열에서 그들은 sendRequest
방법
또한
[queueTimer invalidate];
희망이 도움이 같은 타이머를 무효로 당신의 dealloc 방법에 잊지 마세요. 뭔가 잘못되었을 때 알려주세요.