requestsManager:didFailRequest:withError: Error Domain=com.albertodebortoli.goldraccoon Code=-1000...

本文描述了一种在iOS开发过程中遇到的FTP上传问题及其解决方案。问题表现为iOS设备无法通过两个路由器连接到FTP服务器,而其他平台如Android和Web则不受影响。通过调试和抓包分析发现,原因是客户端经历了多次端口转发和映射导致访问失败。最终通过简化网络配置,直接连接到一级路由器解决了该问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

场景:最近IOS开发中需要用到FTP上传,最初是用GoldRaccoon 看后台FTPServer日志,一直都是disconnected。自己对FTP也是懂些皮毛,所以只剩下一坑的无奈。FTP服务器是挂在局域网,然后外网映射了一个地址可以访问,android和web都没问题,唯独iOS不行。

         百度、google无数,比如:

         http://www.cocoachina.com/bbs/read.php?tid=269306

         http://blog.youkuaiyun.com/wobushizhaoqian/article/details/72845898

         https://github.com/PeqNP/FTPKit

         http://blog.youkuaiyun.com/junjun150013652/article/details/37660425

         https://github.com/xfally/cordova-plugin-ftp/issues/3

         http://www.cocoachina.com/bbs/read.php?tid=1707909

         http://www.cocoachina.com/bbs/read.php?tid-461026-page-1.html

         http://download.youkuaiyun.com/search?keywords=IOS+FTP  

         然后组员在某网上下载了LxFTPRequest之后,发现了这样一句话才如梦初醒:

还有Mac端的一个,FTPManager,都是试过了,都是一样,而且,我有去看源码的底层实现,基本都差不多大同小异,所以不是程序的问题,但是,安卓,web,和windows上的应用,都是ok的,就是iOS和Mac不行,最后,经过和后台的调试,抓包等操作,找到了问题所在。问题就是:连接ftp的服务器,是经过了2个路由器,就是经过了多次端口转发,映射,等等操作,导致客户端访问时,失败。所以,把中间的拿掉,直接接到一级路由上,就ok了,问题解决。最后推荐一个抓包的软件和教程  http://blog.youkuaiyun.com/qq_28699375/article/details/56278958

            

   IPv4 specific处,将Use the following IP勾上,并填入你的外网映射ip即可。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值