计算机网络课程设计JAVA实现FTP客户端资料 下载本文

内容发布更新时间 : 2024/5/18 5:03:50星期一 下面是文章的全部内容请认真阅读。

河南理工大学 计算机科学与技术学院

课程设计报告

2015— 2016学年第一学期

课程名称 计算机网络 设计题目 FTP客户端的设计与实现 姓 名 *** * 学 号 361309010410 专业班级 计科合1304 指导教师 孟 慧

2016年 1 月 9 日

1

目 录

第一章 序言 ················································································································· 2

1.1课程设计题目 ···················································································· 3 1.2开发工具 ························································································· 3

第二章 系统需求分析 ······························································································· 5

2.1功能需求 ························································································· 5 2.2 系统模型设计 ··················································································· 5 2.3 系统工作流程设计 ············································································· 5

第三章 系统设计 ········································································································· 6

3.1实现功能 ························································································· 6 3.2函数说明 ························································································· 6

3.2.1界面设计代码 ······················································································ 6 3.2.2功能实现函数 ······················································································ 9

第四章 系统实现 ······································································································· 13

4.1界面设计的实现 ················································································ 13

4.1.1连接服务器 ···························································································· 13 4.1.2获取文件列表 ························································································· 13 4.1.3断开服务器 ···························································································· 14 4.1.4上传文件 ······························································································· 15 4.1.5下载 ····································································································· 16 4.1.6重命名 ·································································································· 18 4.1.7删除 ····································································································· 19 4.1.8刷新 ····································································································· 20 4.1.9返回上一目录 ························································································· 21 4.1.10查看日志信息 ······················································································· 21

第五章 总结 ··············································································································· 22 第六章 参考文献 ······································································································· 23

2

第一章 序言

1.1课程设计题目

FTP(File Transfer Protocol, 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 ++语言中容易引起错误的指针(以引用取代)、运算符重载(operator overloading)、多重继承(以接口取代)等特性,增加了垃圾回收器功能用于回收不再被引用的对象所占据的内存空间,使得程序员不用再为内存管理而担忧。在 Java SE 1.5 版本中,Java 又引入了泛型编程(Generic Programming)、类型安全的枚举、不定长参数和自动装/拆箱等语言特性。 Java 不同于一般的编译执行计算机语言和解释执行计算机语言。它首先将源代码编译成二进制字节码(bytecode),然后

3