Error:kCFStreamErrorCodeKey=-2102 Domain=kCFErrorDomainCFNetwork Code=-1001 - iOS

之前早已调通的接口,因有新业务叠加新增了一些数据字段,之后再次调试接口的时候请求等待延迟至设定超时时间后出现了如下异常:

[discovery] errors encountered while discovering extensions: 
            Error Domain=PlugInKit Code=13 "query cancelled" 
            UserInfo={NSLocalizedDescription=query cancelled}

Task <C0BF69B6-6E49-44ED-B1E1-3E03212496EE>.<1> finished with error - code: -1001
Task <C0BF69B6-6E49-44ED-B1E1-3E03212496EE>.<1> load failed with error Error 
      Domain=NSURLErrorDomain 
      Code=-1001 "The request timed out." 
      UserInfo={_kCFStreamErrorCodeKey=-2102, 
                NSUnderlyingError=0x6000011ad8f0 {Error Domain=kCFErrorDomainCFNetwork 
                                                  Code=-1001 "(null)" 
                                                  UserInfo={_kCFStreamErrorCodeKey=-2102, _kCFStreamErrorDomainKey=4}
                }, 
      _NSURLErrorFailingURLSessionTaskErrorKey=LocalUploadTask <C0BF69B6-6E49-44ED-B1E1-3E03212496EE>.
<1>, _NSURLErrorRelatedURLSessionTaskErrorKey=(
    "LocalUploadTask <C0BF69B6-6E49-44ED-B1E1-3E03212496EE>.<1>"), 
     NSLocalizedDescription=The request timed out., 
     NSErrorFailingURLStringKey=https://testEnvironment.xxx.org.cn/cres-api/api/account/app/2a258832847d3c8669755bae6c415b, 
     NSErrorFailingURLKey=https://testEnvironment.xxx.org.cn/uums-api/api/account/app/2a258832847d3c8669755bae6c415b, 
     _kCFStreamErrorDomainKey=4} [-1001]

首先,从表象来看起初怀疑帐号时效性过期了,服务端的身份验证没通过,便尝试了重新登录了该帐号再次提交修改后发起请求,依然抛回如上异常;后与服务端确认服务处于正常启着的状态 emmm 。。。因该接口其它地方也有一处调用,便尝试着去另一处页面发起请求 what 。。。回调成功 OMG 。。。
其次,开始再次查找问题的原因,因为两个地方都需要调用该接口,请求方法是早已封装好的,供两处分别调用,所有既然有一处的业务可以正常调用成功,首先排除掉方法封装问题;
再其次,因为新业务逻辑中新增了一些字段,新增字段之前接口状态也处于正常状态,便依次尝试是否于此有所关联关系,删除一部分字段后再次尝试发起请求,秒接收回调状态。。。灵光一现貌似 get 到一些事情将要发生,继续以此方式尝试;
最终,发现因服务器邮箱字段校验耗时太久导致未能在该请求超时 timeoutInterval 前将回调状态返回,接口默认判定为超时异常处理 。。。再次将超时时长放宽后发现可以正常接收到数据,只是时长较久。。。反馈至服务端进行优化后搞定 。。。

 

解决办法

如上排查问题叙述的有点多,不过摸索的过程还是蛮有趣的;
通过如上分析解决方法如下:
1.服务端服务是否处于正常启着的状态;
2.尝试延迟 timeoutInterval 的超时时长后尝试是否可以正常接收到接口回调状态;
3.服务端排查接收前端传输数据中的字段是否存在有较长的验证等类似相关业务逻辑导致回调时长很慢,最终导致的请求超时。


以上便是此次分享的全部内容,异常情况多种多样可能仍会存在没有涵盖其中的异常状况,欢迎大家多多补充 :)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值