ASIhttprequest有时会在wifi,iOS6中超时,重新启动iPhone后就可以了



我使用的是ASIhttprequest,它在大多数情况下都能正常工作。然而,在极少数情况下,我和一些客户会遇到超时。(3个月内每天使用可能会发生3~5次。)此外,我已经将超时设置为30s。当这个问题发生时,我也将超时设置为130秒,但这没有帮助。

当这种情况发生时,我无法将大约200KB JPEG文件的图像上传到我的http服务器,但是100字节的文本上传是可以的,其他功能(post)也可以。

我的平台是iphone4,iOS6,wifi。最奇怪的是,当我将网络切换到3G时,它是可以的,而wifi却失败了。然而,safari在同一部手机上总是能很好地工作。

iOS5上的另一款ipad似乎对wifi和3G都没问题。

我通过谷歌搜索,但我无法找到解决方法。是苹果iOS6的错误还是ASIhttprequests的错误?

我该怎么解决?ASIhttpreqeust已停止更新。。。MKNetworkKit可靠吗?

谢谢。

不,它不可能是一个bug。我已经使用ASI好几年了,没有任何问题。是的,根据您的网络稳定性,它在任何情况下都可能失败。只需尝试增加请求的超时时间。有时会因为服务器抛出错误而发生这种情况。最好在requestFailed回调中记录错误,然后参阅。

按照此步骤设置所有ASI请求的超时。

[ASIHTTPRequest setDefaultTimeOutSeconds:10];

按照此设置特定ASI请求的超时。

asiRequest.timeOutSeconds = 20;

由于ASI现在已被弃用,您可以考虑改用AFNetworking或RestKit或任何其他框架。使用基于可达性类的这一点,您可以轻松地捕获网络不可用性。

最新更新