C# FTP FtpWebRequest UsePassive 屬性

屬性值

類型:System::Boolean
若是客戶端應用程序的數據傳輸過程偵聽數據端口上的鏈接,則爲 false;若是客戶端應在數據端口上啓動鏈接,則爲 true 默認值爲 true服務器

UsePassive - 指定使用主動模式仍是被動模式。早先全部客戶端都使用主動模式,並且工做的很好,而如今由於客戶端防火牆的存在,將會關閉一些端口,這樣主動模式將會失敗。在這種狀況下就要使用被動模式,可是一些端口也可能被服務器的防火牆封掉。不過由於ftp服務器須要它的ftp服務鏈接到必定數量的客戶端,因此他們老是支持被動模式的。這就是咱們爲何要使用被動模式的原意,爲了確保數據能夠正確的傳輸,使用被動模式要明顯優於主動模式。(譯者注:主動(PORT)模式創建數據傳輸通道是由服務器端發起的,服務器使用20端口鏈接客戶端的某一個大於1024的端口;在被動(PASV)模式中,數據傳輸的通道的創建是由FTP客戶端發起的,他使用一個大於1024的端口鏈接服務器的1024以上的某一個端口)app

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

 

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

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

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

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

相關文章
相關標籤/搜索