网络__未连接到服务器问题
错误提示 -1004 未能连接到服务器
或者 -1001 请求超时
现象:
多次切换网络或者断网, 会出现WiFi(内网)下自己的APP中连接不到服务器, 但是其他APP可以正常连接, 在4G下连接正常,半个小时左右自动连接正常(安卓也存在此问题, 但是两三分钟之后就正常了);
后来发现, 出现问题时, 复制地址到Safari等浏览器中也未能打开.
推测原因1: 服务器问题, 服务器限制了IP?
验证1: 与后台联调说是未收到请求, 说明手机未发出请求, 问题还在手机这边.
验证2: 若出现问题时, 使用抓包工具, 则可以正常连接, 不使用抓包又连接失败; 抓包的话改变了IP, 说明网络框架没问题.
验证3: IP1出现问题, 手动改变手机WiFi的IP为IP2, 则可以正常连接, 再改为出现问题的IP1, 连接失败, 再改为正常连接的IP2, 又出现问题连接失败, 多次测试发现只有改为未使用过的新IP才可正常连接; 说明与IP还是有关系.
验证4: 手机上IP1出现问题, 将电脑的IP改为IP1, 可以正常连接, 可见服务器未单独对IP做限制处理.
推测原因2: 切换https 服务器有问题, http未出现问题, https 的问题?
验证: 还有一点http是本地服务器的, https是远程的, 将本地服务器http布成https, 则可以正常连接未出现问题, 说明不是https的问题.
推测原因3: AFNetworking网络框架问题
验证: 在APP中写死一个其他服务器接口请求, 出现问题时, 此接口可以正常连接, 说明框架正常.
后来发现, 出现问题时, 复制地址到Safari等浏览器中也未能打开. 说明不只在APP内有问题, 整个手机系统都有问题, 手机拦截了? 还是有缓存?
验证: 改变网络请求策略为直接从服务器请求, 不使用缓存, 并且进入后台时清除响应缓存, 问题依然存在;
推测原因4: 公司内网问题?
验证: 在家里的网络和4G都是正常的, 公司网络有问题.
总结: 最后归咎于路由器设置的问题, 改了路由器设置之后,未出现问题.