FTPClient(commons.net)上的setDataTimeout何时调用?它是在套接字连接挂起时调用还是在达到超时值时调用它?
例如。如果我将setDataTimeout设置为30秒,我不希望在大下载过程中30秒后断开连接。
答案 0 :(得分:1)
您应该在任何文件传输之前调用setDataTimeout,然后将指定的超时应用于为文件传输打开的新套接字。只要与套接字关联的InputStream上的每个read()调用都可以在超时到期之前返回,您就不必担心文件大小。另一方面,如果确实发生了超时,则会发现异常并且该线程不会无限期地阻塞。