ios - NSURLRequest 5 分钟发送一次
PHP中文网
PHP中文网 2017-04-17 13:08:34
[iOS讨论组]

我用了AFNetworking这个框架做http请求框架,我有一个table list包含了subject,每次我点击一个cell,会呼叫 -(void)getDetailFromId:(NSInteger)id 并把id作为参数传过去,第一次点击cell时候,requset会立刻发送到服务器,并且返回数据,但是第二次,第三次...之后点击cell,requset都会返回timeout(code=-1001),等到5分钟后,服务器才会收到requset。只要一次timeout后,后面的request都会返回timeout。30分钟后再重新run 这个app,第一次没问题,第二次第三次...会timeout,请问是怎么回事,好像每次请求都没有结束,要等5分钟后才能发请求。这是我实现的代码

-(void)getDetailFromId:(NSInteger)id
    {
    NSString *path =[NSString stringWithFormate: @"http://www.myserver.com/api/get/id/%d", id.intValue];
    AFHTTPRequestOperationManager *manager = [AFHTTPRequestOperationManager manager];
    [manager GET:path parameters:nil success:^(AFHTTPRequestOperation *operation, id responseObject) {
    do something
    ...
    } failure:^(AFHTTPRequestOperation *operation, NSError *error) {
    do something
    ...
    }];
    }

请问我这种做法是错误的吗?我用NSURLConnection,实现相关的delegate,也会有这个问题出现。通常的做法是怎么样的呢?

PHP中文网
PHP中文网

认证0级讲师

全部回复(1)
PHPz

1.GET方式获取数据,只要你接收到数据或者服务器响应了,那么这次请求就肯定结束了。

2.你给的代码信息量很少,不知道你是怎么触发这个方法的,移动设备通常会限制URLConnection并发链接数,iPhone真机通常是并发4个是上限,当有4个NSURLConnection同时运行时你再启动第5个肯定会超时。

3.如果你能确保你的操作每次只执行一次请求,那么检查一下你的服务器吧,可能不是客户端的原因,你可以用换一个其他的地址测试一下,比如反复GET某门户的首页看看每次返回的是不是状态码200和一堆html数据。

暂时只能帮你到这了。

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号