用FTPClient实现ftp操作过程中出现的一个异常

Funny_bean_ 2016-05-08 04:41:54
本人在用FTPClient实现对FTP的操作,系统在长时间跑进行测试时,日志中出现了如下异常,重启系统就又不会出现,并且在出现异常后,发现FTP服务是好的。
几次之后,发现如果将FTP服务重启,或者关闭,FTPClient的isConnected()方法都认为FTP仍处于连接状态,但进行FTP操作就会出现如下异常。
请大神指教下,如何判断当前FTP是否还正常?FTP服务停掉之后,作为客户端,如何得知?

异常如下:
java.net.SocketException: Software caused connection abort: recv failed
at java.net.SocketInputStream.socketRead0(Native Method)
at java.net.SocketInputStream.read(SocketInputStream.java:150)
at java.net.SocketInputStream.read(SocketInputStream.java:121)
at sun.nio.cs.StreamDecoder.readBytes(StreamDecoder.java:283)
at sun.nio.cs.StreamDecoder.implRead(StreamDecoder.java:325)
at sun.nio.cs.StreamDecoder.read(StreamDecoder.java:177)
at java.io.InputStreamReader.read(InputStreamReader.java:184)
at java.io.BufferedReader.fill(BufferedReader.java:154)
at java.io.BufferedReader.read(BufferedReader.java:175)
at org.apache.commons.net.io.CRLFLineReader.readLine(CRLFLineReader.java:58)
at org.apache.commons.net.ftp.FTP.__getReply(FTP.java:310)
at org.apache.commons.net.ftp.FTP.__getReply(FTP.java:290)
at org.apache.commons.net.ftp.FTP.sendCommand(FTP.java:474)
at org.apache.commons.net.ftp.FTP.sendCommand(FTP.java:547)
at org.apache.commons.net.ftp.FTP.cwd(FTP.java:768)
at org.apache.commons.net.ftp.FTPClient.changeWorkingDirectory(FTPClient.java:960)
at com.sumavision.xianrd.ed.console.util.FTPUtil.checkFileDirExist(FTPUtil.java:236)
at com.sumavision.xianrd.ed.console.util.FTPUtil.main(FTPUtil.java:483)
...全文
549 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
ck1148 2016-05-13
  • 打赏
  • 举报
回复
关闭防火墙即可

81,094

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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