Android FTP下载 循环获取文件异常问题

不死就继续coin 2014-11-02 01:19:47
在写Android下载的时候,因为服务器FTP是固定端口号,我设置的是主动模式,即:mFtpClient.enterLocalActiveMode();

在使用mFtpClient.listFiles()的时候,第一次是可以获取到文件列表的:如图


但是,我推出去以后,在进入的时候,应该是重新下载请求服务器ftp的路径,然后把获取的文件列表展示出来,但是却没办法获取到文件列表,length显示的是0,如图:



FTP的路径都是相同的,请问下大家这个是什么原因呢?
...全文
390 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
sk_lin 2014-11-17
  • 打赏
  • 举报
回复
引用 1 楼 svenwang 的回复:
你如果代码没有修改只是重启进程而结果不同,那说明是服务器的问题。 不过你说ftp服务器是固定端口所以你用主动模式,这是错误的说法。ftp固定端口和主动模式或被动模式没有关系,如果你的android客户端是在防火墙后面,就应该用被动模式。
我在加载文件列表时倒也正常。但是FTP服务器中的有些文件可以正常下载,有些却会报错。 ftpClient.retrieveFile(file.getName(), outputStream);//在这个方法抛出的异常 请问出现这种情况会是什么原因导致的呢? PS:文件都是.JPG格式的图片,且都是英文名称路径。 有些文件怎么下载都是正常的,而有些文件则是有时可以正常下载,有时会报错。 真心头疼啊~
svenwang 2014-11-02
  • 打赏
  • 举报
回复
引用 2 楼 u010259369 的回复:
@svenwang 我最开始也是打算只用被动模式,但是每次运行到mFtpClient.listFiles()的时候就出现假死的现象,我就不知道是怎么回事了,我不设置模式的话,也是可以获取到文件的,但是第二次还是获取不到,设置成被动模式的时候,连文件都获取不到,这个是怎么回事呢?
估计你的ftp服务器在防火墙后面,所以数据端口被屏蔽了(文件列表是从数据端口获得的)。 你说的第二次获取不到,是指第二次连接ftp服务器以后获取不到吗?如果是这样,我觉得也许是服务器的问题。你也可以检查一下是不是有在UI线程里访问网络。
  • 打赏
  • 举报
回复
@svenwang 我最开始也是打算只用被动模式,但是每次运行到mFtpClient.listFiles()的时候就出现假死的现象,我就不知道是怎么回事了,我不设置模式的话,也是可以获取到文件的,但是第二次还是获取不到,设置成被动模式的时候,连文件都获取不到,这个是怎么回事呢?
svenwang 2014-11-02
  • 打赏
  • 举报
回复
你如果代码没有修改只是重启进程而结果不同,那说明是服务器的问题。 不过你说ftp服务器是固定端口所以你用主动模式,这是错误的说法。ftp固定端口和主动模式或被动模式没有关系,如果你的android客户端是在防火墙后面,就应该用被动模式。

80,476

社区成员

发帖
与我相关
我的任务
社区描述
移动平台 Android
androidandroid-studioandroidx 技术论坛(原bbs)
社区管理员
  • Android
  • yechaoa
  • 失落夏天
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧