【问题标题】:Request Timed out with Code代码请求超时
【发布时间】:2017-11-17 18:22:40
【问题描述】:
Error Domain=NSURLErrorDomain Code=-1001 "The request timed out." UserInfo={NSUnderlyingError=0x608000244a70 {Error Domain=kCFErrorDomainCFNetwork Code=-1001 "(null)" UserInfo={_kCFStreamErrorCodeKey=-2102, _kCFStreamErrorDomainKey=4}}, NSErrorFailingURLStringKey=http://www.dfdd, NSErrorFailingURLKey=http://www.dfdd.com, _kCFStreamErrorDomainKey=4, _kCFStreamErrorCodeKey=-2102, NSLocalizedDescription=The request timed out.}

我收到此响应调用我的 API.. 我正在使用 alamofire 调用 api.. alamofire 或本地 API 有什么问题

【问题讨论】:

  • 不,很多情况下都会发生这种情况
  • 如何找到解决这个问题的方法
  • 例如,如果您的网络连接较低或您的数据量很大,那么它将主要发生
  • OK..任何其他的事情
  • 如果服务器需要更多时间来响应您的请求,它将引发

标签: ios swift request alamofire connection-timeout


【解决方案1】:

你必须遵循解决方案。

  1. 使用快速的互联网连接进行连接,因为您的请求会携带大量数据。
  2. 为会话管理器设置请求超时

    manager.session.configuration.timeoutIntervalForRequest = 120

【讨论】:

  • 使用这个timeoutIntervalForRequest = 120 如果你在主线程中使用你的API,它会在延迟时影响另一个线程
  • 在获取大量数据时也设置 timeoutIntervalForResource 的间隔。
  • @KKRocks 是否可以在 Alamofire manager.session.configuration.timeoutIntervalForRequest = 120 中设置
  • @KKRocks.. 在调用 api 之前的 alamofire 中,我设置了 timeoutIntervalFor Request.. 但我面临同样的问题......这是我的代码
  • func requestDELETEData(urlString:String, parameterToBePassed:inout Dictionary, completion:@escaping (_ resultDictionary:Dictionary?, _ error:NSError?) -> ( )) { let manager = Alamofire.SessionManager.default manager.session.configuration.timeoutIntervalForRequest = 120 Alamofire.request(urlString, method: .delete, parameters: parameterToBePassed) .responseJSON {}}
【解决方案2】:

此问题的主要原因是:

  1. 服务器负载过重,或没有资源能够及时响应
  2. 用户网络连接慢,无法快速下载响应。

您应该检查您的 API 和服务器日志以查找其中的任何潜在问题,确保没有错误并且 API 能够在应用程序扩展时处理您的请求。

此外,您应该在您的应用程序中添加一些额外的错误处理,以便如果确实发生此问题,您不仅可以正确处理案例并向用户显示发生错误(或重试)并记录/报告错误这样您就可以对其做出回应并进行调查。

有时由于手机信号丢失或其他原因导致用户连接中断,因此您需要妥善处理。

【讨论】:

  • 感谢您的回答
  • Error Domain=NSURLErrorDomain Code=-999 "cancelled" UserInfo={NSErrorFailingURLKey=fdfd.com, NSErrorFailingURLStringKey=fdfd.com, NSLocalizedDescription=cancelled}.. 我在 alammofire..如何解决这个问题
猜你喜欢
  • 2016-01-06
  • 1970-01-01
  • 2019-09-13
  • 1970-01-01
  • 2011-02-26
  • 1970-01-01
  • 1970-01-01
  • 2015-01-14
相关资源
最近更新 更多