• 大小: 581KB
    文件类型: .rar
    金币: 2
    下载: 1 次
    发布日期: 2021-05-15
  • 语言: 其他
  • 标签: 课程设计  ftp  广工  

资源简介

计算机网络的文件传输协议(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个文件信息

评论

共有 条评论