计算机网络课程设计JAVA实现FTP客户端资料.docx
- 文档编号:3077754
- 上传时间:2022-11-17
- 格式:DOCX
- 页数:21
- 大小:52.80KB
计算机网络课程设计JAVA实现FTP客户端资料.docx
《计算机网络课程设计JAVA实现FTP客户端资料.docx》由会员分享,可在线阅读,更多相关《计算机网络课程设计JAVA实现FTP客户端资料.docx(21页珍藏版)》请在冰豆网上搜索。
计算机网络课程设计JAVA实现FTP客户端资料
河南理工大学
计算机科学与技术学院
课程设计报告
2015—2016学年第一学期
课程名称计算机网络
设计题目FTP客户端的设计与实现
姓名****
学号361309010410
专业班级计科合1304
指导教师孟慧
2016年1月9日
1
第一章序言·················································································································21.1课程设计题目····················································································3
1.2开发工具·························································································3第二章系统需求分析·······························································································52.1功能需求·························································································52.2系统模型设计···················································································52.3系统工作流程设计·············································································5第三章系统设计·········································································································63.1实现功能·························································································63.2函数说明·························································································63.2.1界面设计代码6······················································································3.2.2功能实现函数9······················································································第四章系统实现·······································································································134.1界面设计的实现················································································314.1.1连接服务器····························································································13
4.1.2获取文件列表·························································································13
4.1.3断开服务器····························································································14
4.1.4上传文件·······························································································15
61··················································下载···················································4.1.54.1.6重命名··································································································18
4.1.7删除·····································································································19
4.1.8刷新·····································································································20
4.1.9返回上一目录·························································································21
4.1.10查看日志信息·······················································································21
第五章总结···············································································································22第六章参考文献·······································································································23
2
序言第一章
课程设计题目1.1FTP(FileTransferProtocol,FTP)是TCP/IP网络上两台计算机传送文件的协议,FTP是在TCP/IP网络和INTERNET上最早使用的协议之一,它属于网络协议组的应用层。
FTP客户机可以给服务器发出命令来下载文件,上载文件,创建或改变服务器上的目录。
FTP是一个8位的客户端-服务器协议,能操作任何类型的文件而不需要进一步处理,就像MIME或Unencode一样。
但是,FTP有着极高的延时,这意味着,从开始请求到第一次接收需求数据之间的时间会非常长,并且不时的必需执行一些冗长的登陆进程。
FTP服务一般运行在20和21两个端口。
端口20用于在客户端和服务器之间传输数据流,而端口21用于传输控制流,并且是命令通向ftp服务器的进口。
当数据通过数据流传输时,控制流处于空闲状态。
而当控制流空闲很长时间后,客户端的防火墙会将其会话置为超时,这样当大量数据通过防火墙时,会产生一些问题。
此时,虽然文件可以成功的传输,但因为控制会话会被防火墙断开,传输会产生一些错误。
FTP客户端主要目标是:
促进文件的共享(计算机程序或数据);鼓励间接或者隐式的使用远程计算机;向用户屏蔽不同主机中各种文件存储系统的细节;可靠和高效的传输数据。
1.2开发工具
随着程序设计技术的改革和计算机环境的改变,Java语言也得到了迅速发展。
一方面,C++等面向对象程序设计语言的发展为Java提供了基础。
事实上,Java也大量继承了C以及C++的成果,并增加了体现程序设计发展状态的功能。
另一方面,网络及Internet的发展对程序设计提出了新的要求,为Java的发展注入了强大的动力。
正是Internet的快速发展和普及,改变了传统的计算模式,促进了Java的普及与流行。
它最初被命名为Oak,目标设定在家用电器等小型系统的编程语言,来解决诸如电视机、电话、闹钟、烤面包机等家用电器的控制和通讯问题。
由于这些智能化家电的市场需求没有预期的高,Sun放弃了该项计划。
就在Oak几近失败之时,随着互联网的发展,Sun看到了Oak在计算机网络上的广阔应用前景,于是改造了Oak,以“Java”的名称正式发布。
Java编程语言的风格十分接近C、C++语言。
Java是一个纯的面向对象的程序设计语言,它继承了C++语言面向对象技术的核心,Java舍弃了C++语言中容易引起错误的指针(以引用取代)、运算符重载(operatoroverloading)、多重继承(以接口取代)等特性,增加了垃圾回收器功能用于回收不再被引用的对象所占据的内存空间,使得程序员不用再为内存管理而担忧。
在JavaSE1.5版本中,Java又引入了泛型编程(GenericProgramming)、类型安全的枚举、不定长参数和自动装/拆箱等语言特性。
Java不同于一般的编译执行计算机语言和解释执行计算机语言。
它首先将源代码编译成二进制字节码(bytecode),然后3
依赖各种不同平台上的虚拟机来解释执行字节码,从而实现了“一次编译、到处执行”的跨平台特性。
不过,每次的编译执行需要消耗一定的时间,这同时也在一定程度上降低了Java程序的运行效率。
但在J2SE1.4.2发布后,Java的执行速度有了大幅提升。
与传统程序不同,Sun公司在推出Java
之际就将其作为一种开放的技术。
全球数以万计的Java开发公司被要求所设计的Java软件必须相互兼容。
“Java语言靠群体的力量而非公司的力量”是Sun公司的口号之一,并获得了广大软件开发商的认同。
这与微软公司所倡导的注重精英和封闭式的模式完全不同。
Java编程语言的主要特性是个简单、面向对象、分布式、解释性、健壮、安全与系统无关、可移植、高性能、多线程和动态的语言。
4
第二章系统需求分析
2.1功能需求
1.实现一个图形用户界面的FTP客户端,保证文件的安全传输和存储。
2.通过输入服务器地址、用户名和密码、可以实现远程FTP主机的登录。
3.提供本地文件的上传功能,可对FTP主机文件进行下载、上传、删除、重命名等文件操作。
4.可以查看一系列的操作的日志信息。
2.2系统模型设计
用户接
控制连
控制进控制进
命令与应答
数据连接数据传送进程数据传送进程文件传输
客户端服务器
FTP的基本模型
2.3系统工作流程设计
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机网络 课程设计 JAVA 实现 FTP 客户端 资料