以下博客解释了 ftp apache commens net libaray 的不同超时,即 setDefaultTimeout()、setSoTimeout()、setDataTimeout()。
http://sudhirvn.blogspot.in/2007/05/ftpclient-timeout-values.html
但是请澄清我的以下疑问 WRT 上述超时?
a) setSoTimeout() 是否仅为 ftp 控制连接而不是数据连接设置超时?
b) setDataTimeout() 是否仅为 ftp 数据连接而不是控制连接设置超时?(我问这个是因为它使用底层 java.net.Socket.setSoTimeout() )
c) 如果我们设置 setDefaultTimeout() ,那么我们就不需要设置/使用 setSoTimeout() 和 setDataTimeout() ?因为博客说'setDefaultTimeout() 默认用于使用这个 FTPClient 实例建立的所有连接。
d)我们还需要设置连接超时吗?如果我们不设置它,程序会依赖操作系统连接超时吗?
提前致谢 :)