什么时候调用setDataTimeout?

时间:2011-05-26 17:34:14

标签: java ftp ftp-client apache-commons-net

FTPClient(commons.net)上的setDataTimeout何时调用?它是在套接字连接挂起时调用还是在达到超时值时调用它?

例如。如果我将setDataTimeout设置为30秒,我不希望在大下载过程中30秒后断开连接。

1 个答案:

答案 0 :(得分:1)

您应该在任何文件传输之前调用setDataTimeout,然后将指定的超时应用于为文件传输打开的新套接字。只要与套接字关联的InputStream上的每个read()调用都可以在超时到期之前返回,您就不必担心文件大小。另一方面,如果确实发生了超时,则会发现异常并且该线程不会无限期地阻塞。