资源简介
计算机网络的文件传输协议(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分频器
相关资源
- 武汉市行政区划shp文件61656
- Rational Rose Common破解文件
- 04741计算机网络原理知识点整理.docx(
- FTP课程设计(服务端+客户端)
- Web Api 通过文件流 文件到本地
- 右键属性文件校验插件可同时生成十
- CCS中如何生成LIB文件-并在另外CCS项目
- TI CCS V5.4 安装步骤及破解文件
- 清翔电子MCS51开发板资料_新版 01_开发
- 三星DDR800内存条PCB文件和原理图
- ASUS BIOS 加NVME协议文件: Nvme.ffs NV
- 高频电子线路课程设计报告收音机
- adams vibration 练习原文件
- 直流稳压电源的课程设计、安装及调
- EDA课程设计_密码锁
- VC 获得文件属性 获取文件的创建时
- STM32基于rt_thread操作系统的SDHC卡文件
- 单片机课程设计 篮球计分器
- [免费]安全加密软件U盘加密,文件加
- “暴风一号”(“1KB文件夹快捷方式
- 加密cad图形的lisp文件
- 德卡D3读卡器测试程序驱动文件
- dsp2812上128点FFTc程序以及其CMD文件
- 数据结构课程设计 6 1 彩票系统
- hidusage.h hidpi.h 等USB开发用头文件
- 端口扫描课程设计详细的报告
- zen_cart_1.3.9h_ 配置文件优化
- Google Earth KML文件生成工具
- 步进电机课程设计(个人设计)
- J2EE 配置文件
评论
共有 条评论