zoukankan      html  css  js  c++  java
  • 解决JavaFTP上传文件假死问题

    之前使用ftp上传文件,代码很稳定,用了快三年,因为数据迁移,从搭建了ftp服务器,配置好ip和账号密码后,再使用之前代码发现:

    在下载过程中,程序出现假死的现象,就是,既不报错,也不抛异常,还不终止,就是一直卡着不动,没法定位问题,自己研究了好长时间,也不知道怎么回事,后来上网又查了查,有人提出了一个方法,真心好用,在这里分享下:

    解决方案:

    在调用FTPClient.listFiles()或者FTPClient.retrieveFile()方法前,调用FTPClient.enterLocalPassiveMode()!
    用人家的原话说,就是“这个方法的意思就是每次数据连接之前,ftp client告诉ftp server开通一个端口来传输数据。”说实话这是什么意思,我这个水平还不是很懂,望大家指教,现把FTP相关代码贴出来,与大家共享。

    //创建FTP连接

    ftp.setDefaultPort(//FTP端口号);

    ftp.connect(//FTP服务IP地址);

    ftp.login(//FTP用户名, //密码);

    ftp.setBufferSize(1024);

    //设置文件类型(二进制)

    ftp.setFileType(ftp.BINARY_FILE_TYPE);

    //每次数据连接之前,ftp client告诉ftp server开通一个端口来传输数据
    // 加入这行代码后,在执行上传或下载文件就没问题了,看来我这个代码还有个隐含bug,尴尬................................

    ftp.enterLocalPassiveMode();

  • 相关阅读:
    分页控件(后台拼接html方式)
    精子发生过程
    FSH 促卵泡激素
    LH 黄体生成素
    linux常用命令
    [C#]使用RabbitMQ模拟抽奖系统的例子
    自己写的一个关于Linq to Entity 动态查询的例子
    [C#]记一次解析XML转对象的笔记
    初次使用C#中的yield
    OI回忆录
  • 原文地址:https://www.cnblogs.com/longronglang/p/6823757.html
Copyright © 2011-2022 走看看