AFNetworking iOS HTTP长轮询

时间:2015-02-26 04:55:09

标签: objective-c afnetworking

尝试使用AFNetworking库在Objective-C中实现长轮询实现。但是,我不确定我做得对。

基本上是在创建GET请求:     NSError *error = nil;

NSDictionary *queryParams = nil;
if ([parameters objectForKey:@"timestamp"]) {
    queryParams = @{@"timestamp" : [parameters objectForKey:@"timestamp"]};
}

NSMutableURLRequest *request = [self.requestSerializer requestWithMethod:@"GET" URLString:[NSString stringWithFormat:@"%@sample/%@/state", self.baseURL.absoluteString, [parameters objectForKey:@"sampleKey"]] parameters:queryParams error:&error];
[request setTimeoutInterval:50];
[request setValue:[parameters objectForKey:@"currentSessionToken"] forHTTPHeaderField:kAuthenticationHeaderField];

return [self APIOperationWithRequest:request willRetry:NO success:^(NSDictionary *JSON) {
    success(JSON);
} failure:^(NSDictionary *errorResponseDict) {
    failure(errorResponseDict);
}];

无论是超时还是成功,我都会重新创建操作并将其重新放入操作队列中。

这可以作为一种方法,还是有更好的方法来实现它?如果我能找到更详细的资源,将会有所帮助。

0 个答案:

没有答案