FTP-client-and-server-use-JAVA

所属分类:Java编程
开发工具:Java
文件大小:0KB
下载次数:0
上传日期:2017-12-31 07:16:25
上 传 者sh-1993
说明:  这是一个使用java socket编程实现的项目,包含一个ftp客户端和一个ftp服务器端,主要是学习作用,
(This is a project programmed with java socket, including an ftp client and an ftp server, which is mainly for learning,)

文件列表:
FTPServer/ (0, 2017-12-30)
FTPServer/FTPServer.iml (726, 2017-12-30)
FTPServer/Settings.ini (681, 2017-12-30)
FTPServer/bin/ (0, 2017-12-30)
FTPServer/bin/Command.class (173, 2017-12-30)
FTPServer/bin/CommandFactory.class (1269, 2017-12-30)
FTPServer/bin/ControllerThread.class (3961, 2017-12-30)
FTPServer/bin/CwdCommand.class (1375, 2017-12-30)
FTPServer/bin/DirCommand.class (3057, 2017-12-30)
FTPServer/bin/FtpServer.class (1035, 2017-12-30)
FTPServer/bin/PassCommand.class (1867, 2017-12-30)
FTPServer/bin/PasvCommand.class (2150, 2017-12-30)
FTPServer/bin/PortCommand.class (1612, 2017-12-30)
FTPServer/bin/QuitCommand.class (911, 2017-12-30)
FTPServer/bin/RetrCommand.class (2314, 2017-12-30)
FTPServer/bin/Share.class (2907, 2017-12-30)
FTPServer/bin/StoreCommand.class (2109, 2017-12-30)
FTPServer/bin/UserCommand.class (1202, 2017-12-30)
FTPServer/config/ (0, 2017-12-30)
FTPServer/config/server.xml (223, 2017-12-30)
FTPServer/lib/ (0, 2017-12-30)
FTPServer/lib/jdom.jar (152797, 2017-12-30)
FTPServer/src/ (0, 2017-12-30)
FTPServer/src/Command.java (325, 2017-12-30)
FTPServer/src/CommandFactory.java (693, 2017-12-30)
FTPServer/src/ControllerThread.java (5123, 2017-12-30)
FTPServer/src/CwdCommand.java (858, 2017-12-30)
FTPServer/src/DirCommand.java (2653, 2017-12-30)
FTPServer/src/FtpServer.java (940, 2017-12-30)
FTPServer/src/PassCommand.java (1081, 2017-12-30)
FTPServer/src/PasvCommand.java (1890, 2017-12-30)
FTPServer/src/PortCommand.java (786, 2017-12-30)
FTPServer/src/QuitCommand.java (445, 2017-12-30)
FTPServer/src/RetrCommand.java (1700, 2017-12-30)
FTPServer/src/Share.java (2656, 2017-12-30)
FTPServer/src/StoreCommand.java (1504, 2017-12-30)
FTPServer/src/UserCommand.java (792, 2017-12-30)
Home Ftp Server/ (0, 2017-12-30)
Home Ftp Server/HomeFtpServer.exe (826368, 2017-12-30)
Home Ftp Server/HomeFtpServer.pdf (91099, 2017-12-30)
... ...

# FTP client and server (use java socket) **Authors:** muziyongshixin **dependence**: intellij IDEA,jdk1.8, - 本项目是使用java Socket编程实现的一个简单的FTP服务器和客户端。 - 客户端目前实现的功能是登录,刷新,上传和下载。同时具有主动模式和被动模式两种模式。 - 服务器端实现的功能有登录、刷新、上传、下载、列出文件列表、更换目录等 ## 界面展示: ![主界面](https://github.com/muziyongshixin/FTP-client-and-server-use-JAVA/blob/master/pic/client.png?raw=true "主界面") ![文件选择界面](https://github.com/muziyongshixin/FTP-client-and-server-use-JAVA/blob/master/pic/dir_choose.png?raw=true"文件选择界面") - --- ## 使用介绍: ### client: - client文件夹里有三个文件,分别是是使用apache ftp实现的文件传输(ftp_by_apache.java),和用java socket实现的被动模式下的数据传输(ftp_by_me_passive.java),和java socket实现的主动模式下的数据传输(ftp_by_me_active.java) - 如果你使用的是标准的ftp server,例如Home Ftp Server文件夹里的服务器端,你可以使用ftp_by_apache或者ftp_by_me_passive来实例化Frame_Main.java里的ftp成员变量。例如: ``` ftp=new Ftp_by_me_passive(FTP,username,password); ``` 或者: ``` ftp=new Ftp_by_apache(FTP,username,password); ``` - 如果你使用的是本项目中的ftp server,那么建议你使用ftp_by_me_active.java来初始化ftp成员变量,因为本项目中的ftp server暂时还没有实现被动模式。即你应该这样初始化: ``` ftp=new Ftp_by_me_active(FTP,username,password); ``` 其他具体细节可以直接查看代码,注释都比较清晰。 ### server: 本项目中实现的ftp server,通过读取config文件夹下的server.xml文件来初始化。server.xml文件里纪录的是server的根目录,以及用户的信息。你需要配置一个自己电脑上有效的文件夹地址。 配置格式如下: ``` C:\Users\32706\Desktop\FTP\FTPServer admin 000000 admin1 111111 ``` 1. 服务端程序通过serversocket监控客户端的连接请求,并实例化一个controllerThread对象来处理这个请求的所有消息。 2. 具体的消息处理是利用工厂模式来实例化一个具体的命令处理对象,得到客户端传递过来的消息后根据命令实例化不同的处理对象,从而实现对不同命令的处理。 3. 你可以根据自己的需求实现不同的命令和个性化的命令的处理。 -- ------- # 本项目主要是为了学习socket编程和FTP传输协议,同时使用了比较好的设计模式,从而能够有较好的的扩展性。但是其并不适合作为真正的FTP传输软件使用。如果本项目对你有帮助,请不要吝啬你的star :)

近期下载者

相关文件


收藏者