NSURLConnection丢失连接

问题描述:

我有一个使用SOAP Web服务连接的100k +用户的应用程序。一切正常,对于大多数用户来说,除了有时使用NSURLConnection的我不断收到错误:NSURLConnection丢失连接

Error Domain=NSURLErrorDomain Code=-1005 "The network connection was lost." UserInfo=0xac16c70 {NSErrorFailingURLStringKey=https://mail.scripps.org:443/ews/Exchange.asmx, NSErrorFailingURLKey=https://mail.scripps.org:443/ews/Exchange.asmx, NSLocalizedDescription=The network connection was lost., NSUnderlyingError=0x133b0eb0 "The network connection was lost."} 

这只是发生在某些服务器。服务器有NTLM身份验证,95%的时间工作,但由于某种原因,我得到的错误,我不知道为什么。

任何帮助表示赞赏。

+0

的可能的复制[NSURLConnection的GET请求返回-1005“的网络连接丢失”(http://*.com/questions/25797339/nsurlconnection-get-request-returns-1005 -the-network-connection-was-lost) – CMash 2015-12-10 11:54:09

网络连接失败发生,你只需要适度地处理它们。一种解决方案可能是重试连接1次或更多次,直到确认存在network connection后成功。下面的粗糙示例:

if([error domain] == NSURLErrorDomain && 
    [error code] == NSURLErrorNetworkConnectionLost && 
    retryCount < kMaxRetryCount) 
{ 
    [self retry]; 
    ++retryCount; 
} 
+0

我已经这样做了。无论如何,对于这个特定的服务器来说,NTLM只面临一次挑战。但是,在NTLM之后,它似乎有多个NSURLAuthenticationMethodServerTrust挑战,而其他服务器只有一次NSURLAuthenticationMethodServerTrust。 – VTS12 2013-05-13 18:07:07

+0

所以这发生在特定服务器的100%的时间?或者只有5%的时间用于特定服务器? – Joe 2013-05-13 18:12:29

+0

该特定服务器的时间为100%,但对于所有用户来说,总时间的95%。 – VTS12 2013-05-13 18:26:31

Question也确定了我遇到的问题。 而不是肥皂,我使用jsonrpc。

该解决方案很简单。我需要:

[myMutableURLRequestObject setHTTPMethod:@"POST"];