Apache 如何设置ftp控制连接的读取超时
我使用的是ftp apache的commomns net版本3.1 ftp连接在间歇性执行列表操作时处于挂起状态 我感觉如此的原因似乎是ftp客户端一直在等待服务器对ftp命令PASV的响应,同时试图打开数据连接以进行列表操作 我需要如何设置控件连接的读取超时以避免这种情况 我已经使用setDataTimeout在数据连接上设置了readtimeout 有关更多信息,请参阅: 1执行ftp连接操作后设置setsoTimeout是否有助于避免控制连接出现这种情况 有关更多信息,请参阅: 2如果是这样,我需要为setsotimeout设置的最佳超时值是多少 请在下面查找堆栈跟踪:Apache 如何设置ftp控制连接的读取超时,apache,list,ftp,timeout,hung,Apache,List,Ftp,Timeout,Hung,我使用的是ftp apache的commomns net版本3.1 ftp连接在间歇性执行列表操作时处于挂起状态 我感觉如此的原因似乎是ftp客户端一直在等待服务器对ftp命令PASV的响应,同时试图打开数据连接以进行列表操作 我需要如何设置控件连接的读取超时以避免这种情况 我已经使用setDataTimeout在数据连接上设置了readtimeout 有关更多信息,请参阅: 1执行ftp连接操作后设置setsoTimeout是否有助于避免控制连接出现这种情况 有关更多信息,请参阅: 2如果
at java.net.SocketInputStream.socketRead0(Native Method)
at java.net.SocketInputStream.read(SocketInputStream.java:140)
at sun.nio.cs.StreamDecoder$CharsetSD.readBytes(StreamDecoder.java:464)
at sun.nio.cs.StreamDecoder$CharsetSD.implRead(StreamDecoder.java:506)
at sun.nio.cs.StreamDecoder.read(StreamDecoder.java:234)
at java.io.InputStreamReader.read(InputStreamReader.java:188)
at java.io.BufferedReader.fill(BufferedReader.java:147)
at java.io.BufferedReader.read(BufferedReader.java:168)
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:479)
at org.apache.commons.net.ftp.FTPClient.openDataConnection(FTPClient.java:7
69)
at org.apache.commons.net.ftp.FTPClient.openDataConnection(FTPClient.java:6
57)
at org.apache.commons.net.ftp.FTPClient.initiateListParsing(FTPClient.java:
3097)
at org.apache.commons.net.ftp.FTPClient.initiateListParsing(FTPClient.java:
3072)
at org.apache.commons.net.ftp.FTPClient.initiateListParsing(FTPClient.java:
2972
在此方面的任何帮助将不胜感激:
谢谢