1. 程式人生 > >《5》FTP+Telnet協議簡單介紹

《5》FTP+Telnet協議簡單介紹

  1. FTP協議示例(檔案傳輸)

步驟 1在專案引入包 commons-net-3.2.jar之後,匯入需要其中的FTPClient,程式碼

如下:

importorg.apache.commons.net.ftp.FTPClient;

步驟 2初始化 FTPClient,程式碼如下:

mFtp=newFTPClient();

步驟 3設定登入地址和埠號,程式碼如下:

mFtp.connect(FTP_URL,21);

步驟 4設定登入使用者名稱和密碼,程式碼如下:

mFtp.login(Name,Password);

步驟 5設定檔案型別和採用被動傳輸方式,程式碼如下:

mFtp.setFileType(FTP.BINARY_FILE_TYPE);

//主動模式和被動模式

mFtp.enterLocalPassiveMode();

步驟 6傳輸檔案,程式碼如下:

booleanaRtn=mFtp.storeFile(remoteFileName, aInputStream);

//成功返回 true

aInputStream.close();

步驟 7關閉連線,程式碼如下:

mFtp.disconnect();

注意 FTP 支援以下兩種模式。

主動模式 :FTP客戶端向伺服器的 FTP控制埠(預設是 21)傳送請求,

伺服器接受連線,建立一條命令鏈路,當需要傳送資料時候,客戶端在命令鏈路上

PORT命令通知伺服器,伺服器從 20

埠向客戶端的該埠傳送連線請求,建立

一條資料鏈路來傳送資料。在資料鏈路建立的過程中因為是伺服器主動請求的,

以稱為主動模式。

被動模式 :FTP客戶端向伺服器的 FTP控制埠傳送連線請求,伺服器接收連

,建立一條命令鏈路,當需要傳送資料時候,伺服器在命令鏈路上用 PASV命令

通知客戶端 ;客戶端向伺服器的該埠傳送連線請求,建立一條資料鏈路來傳送數

據。在資料鏈路建立的過程中因為是伺服器被動等待客戶端請求的,所以稱為被動

模式。

  1. Telnet協議(遠端控制)

步驟 1在專案引入包 commons-net-3.2.jar之後,匯入其中的TelnetClient

,程式碼

如下:

importorg.apache.commons.net.telnet.TelnetClient;

步驟 2初始化 TelnetClient,程式碼如下:

TelnetClienttc = new TelnetClient();

步驟 3開啟連線,程式碼如下:

tc.connect(remoteip,remoteport);

步驟 4讀寫資料,程式碼如下:

tc.getInputStream()

tc.getOutputStream()

步驟 5斷開 Telnet連線,程式碼如下:

telnet.disconnect();

其中4可以這樣用:

IOUtil.readWrite(telnet.getInputStream(),

telnet.getOutputStream(),

System.in,

System.out);

將輸入和輸出轉換成系統預設的輸入輸出,這樣一旦連線成功就可以通過本地終端控制遠端機器的終端