您好,登錄后才能下訂單哦!
下面介紹一個這兩種方式的工作原理:
主動模式:第一步FTP客戶端首先隨機選擇一個大于1024的端口p1,并通過此端口發送請求連接到FTP服務器的21號端口建立TCP連接,在FTP中這個連接叫做控制連接,連接成功建立后,FTP客戶端會發送port命令,緊接著FTP客戶端會監視自己的p1+1端口,FTP服務器接收到port命令會從自己的20號端口向FTP客戶端的p1+1端口發起請求建立TCP連接,這個連接叫做數據連接,用來發送數據,數據傳輸完畢后數據連接隨即關閉,控制連接保持開啟。
因為很多防火墻在設置的時候都是不允許接受外部發起的連接的,所以許多位于防火墻后或內網后的FTP客戶端不支持主動模式,因為服務器無法穿過防火墻或者無法連接到NAT后的客戶端。
至此,找到了原因:我是用的本機上開啟了防火墻,FTP服務器請求本機的端口被隔離阻止。
ftp.enterLocalPassiveMode();
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。