資源簡介
計算機網絡的文件傳輸協議(ftp)課程設計,廣工,2019,自帶課程設計報告

代碼片段和文件信息
package?server;
import?server.FtpServer.ClientHandler;
import?server.commandResp.*;
import?java.io.*;
import?java.net.ServerSocket;
import?java.net.Socket;
/**
?*?FTP服務器
?*?用于處理用戶的請求
?*/
public?class?FtpServer?{
????private?int?port?=?21;??//?默認端口21
????ServerSocket?serverSocket;
????public?static?void?main(String?args[])?throws?IOException?{
???? System.out.println(“server?connect...“);
????????FtpServer?ftpServer?=?new?FtpServer();
????????ftpServer.go();?//?啟動服務器
????}
????//?構造函數初始化FTP服務器
????public?FtpServer()?throws?IOException?{
????????this.serverSocket?=?new?ServerSocket(this.port);
????}
????//?監聽客戶端的請求
????public?void?go()?throws?IOException?{
????????Socket?socket?=?null;
????????while?(true)?{
????????????socket?=?serverSocket.accept();?//?接收客戶端的請求
????????????Thread?t?=?new?Thread(new?ClientHandler(socket));?//?建立分線程處理客戶端請求
????????????t.start();?//?啟動線程
????????}
????}
????
????//?根據客戶端的命令,生成對應的命令操作對象
????public?static?Command?buildCommand(String?c){
????????c?=?c.toUpperCase();????//?統一大寫
????????switch(c)
????????{
????????????case?“USER“:?return?new?UserCommand();???//?用戶名驗證
????????????case?“PASS“:?return?new?PassCommand();???//?密碼驗證
????????????case?“NLST“:?return?new?ListCommand();???//?顯示目錄
????????????case?“QUIT“:?return?new?QuitCommand();???//?正常退出
????????????case?“RETR“:?return?new?RetrCommand();???//?下載文件
????????????case?“CWD“:??return?new?CwdCommand();????//?切換工作目錄目錄
????????????case?“STOR“:?return?new?StorCommand();???//?上傳文件
????????????case?“DELE“:?return?new?DeleCommand();???//?刪除文件
????????????case?“XPWD“:?
????????????case?“PWD“:??return?new?PwdCommand();????//顯示當前路徑
????????????case?“XMKD“:?
????????????case?“MKD“:??return?new?MkdCommand();????//新建文件夾
????????????case?“RNFR“:?return?new?RnfrCommand();???//重命名
????????????case?“RNTO“:?return?new?RntoCommand();
????????????default?:?return?null;??//?命令不存在
????????}
????}
????/**
?????*?建立線程管理客戶端的請求
?????*/
????public?class?ClientHandler?implements?Runnable?{
???? //?工作目錄
????????private?String?nowDir?=?System.getProperty(“user.dir“)?+?“\\src\\server\\rootDir“;
????????//?用戶名及密碼信息文件
????????private?String?userInfoFile?=?System.getProperty(“user.dir“)?+?“\\src\\server\\userInfo\\userInfo.txt“;
????????private?BufferedReader?reader;
????????private?BufferedWriter?writer;
????????private?Socket?socket;
????????private?String?clientName;??//?用戶名
????????private?String?clientPasswd;?//?用戶密碼
????????private?boolean?isLogin?=?false;?//?是否登錄
????????private?String?dataIP;??//?連接IP
????????private?String?dataPort;?//?連接端口
????????
????????private?String?rootPath;
????????private?String?currentChildPath?=?““;
????????private?File?RenameFile;
????????//?構造方法
????????public?ClientHandler(Socket?socket)?throws?IOException?{
????????????String[]?datas;
????????????datas?=?(socket.getRemoteSocketAddress().toString()).split(“/“);
????????????datas?=?datas[1].split(“:“);
??????
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件????????301??2019-06-26?14:03??文件傳輸協議計網課設\ftpftpftpftpftp\.classpath
?????文件????????391??2019-06-26?14:03??文件傳輸協議計網課設\ftpftpftpftpftp\.project
?????文件?????????88??2019-06-27?15:42??文件傳輸協議計網課設\ftpftpftpftpftp\.settings\org.eclipse.core.resources.prefs
?????文件????????598??2018-07-03?22:08??文件傳輸協議計網課設\ftpftpftpftpftp\.settings\org.eclipse.jdt.core.prefs
?????文件??????????0??2019-06-27?15:52??文件傳輸協議計網課設\ftpftpftpftpftp\1.docx
?????文件????????311??2019-06-27?15:39??文件傳輸協議計網課設\ftpftpftpftpftp\bin\server\commandResp\Command.class
?????文件???????1736??2019-06-27?15:39??文件傳輸協議計網課設\ftpftpftpftpftp\bin\server\commandResp\CwdCommand.class
?????文件???????1681??2019-06-27?15:39??文件傳輸協議計網課設\ftpftpftpftpftp\bin\server\commandResp\DeleCommand.class
?????文件???????3586??2019-06-27?15:39??文件傳輸協議計網課設\ftpftpftpftpftp\bin\server\commandResp\ListCommand.class
?????文件???????1540??2019-06-27?15:39??文件傳輸協議計網課設\ftpftpftpftpftp\bin\server\commandResp\MkdCommand.class
?????文件???????1808??2019-06-27?15:39??文件傳輸協議計網課設\ftpftpftpftpftp\bin\server\commandResp\PassCommand.class
?????文件???????1475??2019-06-27?15:39??文件傳輸協議計網課設\ftpftpftpftpftp\bin\server\commandResp\PwdCommand.class
?????文件???????1384??2019-06-27?15:39??文件傳輸協議計網課設\ftpftpftpftpftp\bin\server\commandResp\QuitCommand.class
?????文件???????2528??2019-06-27?15:39??文件傳輸協議計網課設\ftpftpftpftpftp\bin\server\commandResp\RetrCommand.class
?????文件???????1562??2019-06-27?15:39??文件傳輸協議計網課設\ftpftpftpftpftp\bin\server\commandResp\RnfrCommand.class
?????文件???????1616??2019-06-27?15:42??文件傳輸協議計網課設\ftpftpftpftpftp\bin\server\commandResp\RntoCommand.class
?????文件???????2289??2019-06-27?15:42??文件傳輸協議計網課設\ftpftpftpftpftp\bin\server\commandResp\StorCommand.class
?????文件???????2522??2019-06-27?15:39??文件傳輸協議計網課設\ftpftpftpftpftp\bin\server\commandResp\UserCommand.class
?????文件???????5466??2019-06-27?15:39??文件傳輸協議計網課設\ftpftpftpftpftp\bin\server\FtpServer$ClientHandler.class
?????文件???????2733??2019-06-27?15:39??文件傳輸協議計網課設\ftpftpftpftpftp\bin\server\FtpServer.class
?????文件??????13856??2019-06-26?19:00??文件傳輸協議計網課設\ftpftpftpftpftp\bin\server\rootDir\123.docx
?????文件???????1024??2019-06-27?13:00??文件傳輸協議計網課設\ftpftpftpftpftp\bin\server\rootDir\a.txt
?????文件???????1024??2019-06-27?12:59??文件傳輸協議計網課設\ftpftpftpftpftp\bin\server\rootDir\b.txt
?????文件??????????6??2019-06-26?19:00??文件傳輸協議計網課設\ftpftpftpftpftp\bin\server\rootDir\userA\2.txt
?????文件??????????6??2019-06-26?19:01??文件傳輸協議計網課設\ftpftpftpftpftp\bin\server\rootDir\userA\3.txt
?????文件?????????16??2019-06-26?19:01??文件傳輸協議計網課設\ftpftpftpftpftp\bin\server\rootDir\userB\fileA.txt
?????文件?????????15??2019-06-26?19:01??文件傳輸協議計網課設\ftpftpftpftpftp\bin\server\rootDir\userB\fileB.txt
?????文件??????18802??2019-05-30?12:29??文件傳輸協議計網課設\ftpftpftpftpftp\bin\server\rootDir\wang.jpg
?????文件?????????33??2018-06-25?15:44??文件傳輸協議計網課設\ftpftpftpftpftp\bin\server\userInfo\userInfo.txt
?????文件????????430??2018-06-25?14:58??文件傳輸協議計網課設\ftpftpftpftpftp\src\server\commandResp\Command.java
............此處省略45個文件信息
- 上一篇:鐵路車站信號平面布置圖.rar
- 下一篇:VHDL分頻器
評論
共有 條評論