URLSession过早地使用_kCFStreamErrorCodeKey = 60超时

时间:2017-06-30 02:59:02

标签: ios

我使用URLSession工作代码。当服务器没有响应并且请求超时时,我正在测试行为。我的请求超时时间不能超过25秒。

let session: URLSession = {
    let config = URLSessionConfiguration.default
    config.timeoutIntervalForRequest = <various values in seconds I fill in>
    return URLSession(configuration: config)
}()

如果我设置timeoutIntervalForRequest = 5或10,请求会在5或10秒内超时,我会看到此EXPECTED错误:

  

错误:错误域= NSURLErrorDomain代码= -1001&#34;请求已定时   出&#34。 UserInfo = {NSUnderlyingError = 0x15e6d1020 {错误   Domain = kCFErrorDomainCFNetwork Code = -1001&#34;(null)&#34;   UserInfo = {_ kCFStreamErrorCodeKey = -2102,_kCFStreamErrorDomainKey = 4}},   NSErrorFailingURLStringKey = http://10.0.0.91:8084/margtest1/DatabaseServlet,NSErrorFailingURLKey = http://10.0.0.91:8084/margtest1/DatabaseServlet,_ kCFStreamErrorDomainKey = 4,_kCFStreamErrorCodeKey = -2102,NSLocalizedDescription =请求超时。}

如果我在请求后大约25秒设置timeoutIntervalForRequest = 60(或更多),我会看到此错误日志:

  

错误:错误域= NSURLErrorDomain代码= -1001&#34;请求已定时   出&#34。 UserInfo = {NSUnderlyingError = 0x12d896d50 {错误   Domain = kCFErrorDomainCFNetwork Code = -1001&#34;(null)&#34;   UserInfo = {_ kCFStreamErrorCodeKey = 60,_kCFStreamErrorDomainKey = 1}},   NSErrorFailingURLStringKey = http://10.0.0.91:8084/margtest1/DatabaseServlet,   NSErrorFailingURLKey = http://10.0.0.91:8084/margtest1/DatabaseServlet,   _kCFStreamErrorCodeKey = 60,NSLocalizedDescription =请求超时。}

     

CloudSync db DL失败。同步失败。

这些日志之间的区别在于,当请求超过 timeoutIntervalForRequest 时,我收到 _kCFStreamErrorCodeKey = 60 。 NSUnderlyingError也不同。

总结一下,即使我设置了timeoutIntervalForRequest&gt;,我的请求也会在大约25秒内超时。 25.当发生这种情况时,我看到-kCFStreamErrorCodeKey = 60。

我花了几个小时上网搜索解释或调试方法。您能否建议如何解决此问题或调试此类问题的方法?提前致谢!

0 个答案:

没有答案