ftpClient的連接超時設置


 

FTPClient ftpClient = new FTPClient();
 ftpClient.setConnectTimeout(10*1000); // 10s,如果超過就判定超時了
 ftpClient.connect(hostName, 21);

 

http://commons.apache.org/proper/commons-net/apidocs/org/apache/commons/net/SocketClient.html#setConnectTimeout(int)

Class org.apache.commons.net. SocketClient
void setConnectTimeout(int connectTimeout)
Sets the connection timeout in milliseconds, which will be passed to the Socket object's connect() method.

 

 

 

 1 /**
 2      * 登錄FTP服務器
 3      * 
 4      * @param host
 5      *            FTP主機地址
 6      * @param port
 7      *            FTP主機端口
 8      * @param username
 9      *            用戶名
10      * @param password
11      *            密碼
12      * @throws Exception
13      *             登錄失敗
14      */
15     public void ftpLogin(String host, int port, String username, String password)
16             throws Exception {
17         client = new FTPClient();
18         // 設定連接超時時間
19         client.setConnectTimeout(10*1000);
20         try {
21             client.connect(host, port);
22             client.login(username, password);
23             replyCode = client.getReplyCode();
24             if (!FTPReply.isPositiveCompletion(replyCode)) {
25                 reply = client.getReplyString().trim();
26                 throw new Exception("FTP 登錄失敗,響應消息:" + reply);
27             }
28             log.info("FTP 登錄成功");
29 
30             // 設置緩沖區
31             client.setBufferSize(BufferSize);
32             // 設置傳輸模式
33             // client.setFileType(FTP.BINARY_FILE_TYPE);
34         } catch (Exception e) {
35             log.error(e.getMessage(), e);
36             throw new Exception("FTP 登錄失敗");
37         }
38     }

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM