使用FTP FtpWebRequest UsePassive 屬性實現主動上傳


類型:System::Boolean
如果客戶端應用程序的數據傳輸過程偵聽數據端口上的連接,則為 false;如果客戶端應在數據端口上啟動連接,則為 true。 默認值為 true。

UsePassive - 指定使用主動模式還是被動模式。早先所有客戶端都使用主動模式,而且工作的很好,而現在因為客戶端防火牆的存在,將會關閉一些端口,這樣主動模式將會失敗。在這種情況下就要使用被動模式,但是一些端口也可能被服務器的防火牆封掉。不過因為ftp服務器需要它的ftp服務連接到一定數量的客戶端,所以他們總是支持被動模式的。這就是我們為什么要使用被動模式的原意,為了確保數據可以正確的傳輸,使用 被動模式要明顯優於主動模式。(譯者注:主動(PORT)模式建立數據傳輸通道是由服務器端發起的,服務器使用20端口連接客戶端的某一個大於1024的 端口;在被動(PASV)模式中,數據傳輸的通道的建立是由FTP客戶端發起的,他使用一個大於1024的端口連接服務器的1024以上的某一個端口)

 默認是 true也就是被動模式,主動模式false

 

 主動 FTP :
    命令連接:客戶端 >1024 端口 → 服務器 21 端口
    數據連接:客戶端 >1024 端口 ← 服務器 20 端口

  被動 FTP :
    命令連接:客戶端 >1024 端口 → 服務器 21 端口
    數據連接:客戶端 >1024 端口 ← 服務器 >1024 端口

  PORT(主動)方式的連接過程是:客戶端向服務器的FTP端口(默認是21)發送連接請求,服務器接受連接,建立一條命令鏈路。 當需要傳送數據時, 客戶端在命令鏈路上用PORT命令告訴服務器:“我打開了***X端口,你過來連接我”。於是服務器從20端口向客戶端的***X端口發送連接請求,建立 一條數據鏈路來傳送數據。  

  PASV(被動)方式的連接過程是:客戶端向服務器的FTP端口(默認是21)發送連接請求,服務器接受連接,建立一條命令鏈路。 當需要傳送數據時, 服務器在命令鏈路上用PASV命令告訴客戶端:“我打開了***X端口,你過來連接我”。於是客戶端向服務器的***X端口發送連接請求,建立一條數據鏈 路來傳送數據。


免責聲明!

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



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