《5》FTP+Telnet協議簡單介紹
-
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命令
通知客戶端 ;客戶端向伺服器的該埠傳送連線請求,建立一條資料鏈路來傳送數
據。在資料鏈路建立的過程中因為是伺服器被動等待客戶端請求的,所以稱為被動
模式。
-
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);
將輸入和輸出轉換成系統預設的輸入輸出,這樣一旦連線成功就可以通過本地終端控制遠端機器的終端