资源简介
计算机网络的文件传输协议(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分频器
相关资源
- Delphi XE10.3 破解文件
- zendstudio11破解文件、注册机包括11.0
- 最新ZendStudio13.6破解文件+注册码
- 易语言EXCEL另存为CSV文件源码
- 百度文库、豆丁、道客巴巴文件免费
- 轻量级文件服务器Fdfs搭建(fastDFS+n
- 关于Spring MVC项目maven中通过fileupload上
- stm32的DAC播放音乐文件
- Arduino nano 工程文件
- IBM Rational Software Architect 9.0破解文件
- 用AD6、AD9画完PCB生成gerber文件详细说
- Gerber文件的编辑程序
- windows3.2简体中文版,虚拟机文件
- 通过NAS与文件服务器结合构建数据容
- VS2012OpenGL配置所需要的全部libdllh文件
- labview2014模块和破解文件
- WINCC7.4授权文件
- stk9.0破解文件
- Linux系统文件命令精通指南(下)
- WIN7-x64主题还原文件_请在PE下替换
- DataNumen Excel Repair Excel文件修复工具
- vue实现导出Excel的两个js文件-Blob+Exp
- tracepro 7.04破解文件
- 12种测试视频文件
- 计算机网络自顶向下方法答案(第六
- 学生管理系统 课程设计
- 压缩文件修复工具
- Universal Extractor(万能文件解包工具)
- Intel® Parallel Studio XE 2016 Update 1 专业
- APQP全套文件模板
评论
共有 条评论