用FTPClient,執行到ftp.storeFile(fileName, inputFile);無反應了


Q:用FTPClient,執行到ftp.storeFile(fileName,  inputFile);無反應了

A:  ftpclient.enterLocalPassiveMode();

ftp.storeFile(fileName, inputFile);問題解決

原因是:FTP協議有兩種工作方式:PORT方式和PASV方式,中文意思為主動式和被動式。 PORT(主動)方式的連接過程是:客戶端向服務器的FTP端口(默認是21)發送連接請 求,服務器接受連接,建立一條命令鏈路。當需要傳送數據時,客戶端在命令鏈路上用PORT 命令告訴服務器:“我打開了XXXX端口,你過來連接我”。於是服務器從20端口向客戶端的 XXXX端口發送連接請求,建立一條數據鏈路來傳送數據。 PASV(被動)方式的連接過程是:客戶端向服務器的FTP端口(默認是21)發送連接請 求,服務器接受連接,建立一條命令鏈路。當需要傳送數據時,服務器在命令鏈路上用PASV 命令告訴客戶端:“我打開了XXXX端口,你過來連接我”。於是客戶端向服務器的XXXX端口 發送連接請求,建立一條數據鏈路來傳送數據。


免責聲明!

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



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