客户端FTP客户端的设计与实现_计算机网络课程设计报告

ftp客户端  时间:2021-03-16  阅读:()

FTP客户端的设计与实现

课程名称 计算机网络设计题目 FTP客户端的设计与实现系 别 计算机与信息工程学院专 业 计算机科学与技术

计算机科学与技术系二○一一年制

FTP客户端的设计与实现

课程设计任务书

FTP客户端的设计与实现

目 录

第一章序言··················································································································3

1.1课题来源······················································································································································3

1.2开发工具·····················································································································································3

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

2. 1功能需求·····················································································································································5

2.2系统模型设计··········································································································································5

2.3系统工作流程设计································································································································5

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

3. 1实现功能·····················································································································································7

3.2函数说明·····················································································································································7

3.2. 1界面设计代码· · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · ·7

3.2.2功能实现函数· · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · ·11

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

4. 1界面设计的实现····································································································································13

4. 1. 1连接服务器· · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · ·14

4. 1.2获取文件列表· · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · ·14

4. 1.3断开服务器· · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · ·15

4. 1.4上传文件· · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · ·16

4. 1.5下载· · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · ·17

4.1.6重命名· · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · ·19

4.1.7删除· · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · ·20

4.1.8刷新· · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · ·22

4.1.9返回上一目录· · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · ·22

4.1.10查看日志信息· · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · ·23

第五章总结·················································································································24

第六章参考文献········································································································24

FTP客户端的设计与实现

第一章序言

——耿桂花

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客户端主要目标是促进文件的共享计算机程序或数据 鼓励间接或者隐式的使用远程计算机向用户屏蔽不同主机中各种文件存储系统的细节可靠和高效的传输数据。

因此开发FTP客户端成为一个很有必要的事情。

1.2开发工具

随着程序设计技术的改革和计算机环境的改变J ava语言也得到了迅速发展。

一方面 C++等面向对象程序设计语言的发展为Java提供了基础。事实上 Java

也大量继承了C以及C++的成果并增加了体现程序设计发展状态的功能。另一

方面 网络及Inte rnet的发展对程序设计提出了新的要求 为Java的发展注入了

强大的动力。正是Inte r ne t的快速发展和普及改变了传统的计算模式促进了

J ava的普及与流行。

它最初被命名为O ak 目标设定在家用电器等小型系统的编程语言来解决

诸如电视机、 电话、 闹钟、烤面包机等家用电器的控制和通讯问题。 由于这些智

能化家电的市场需求没有预期的高 S un放弃了该项计划。就在O ak几近失败之

时随着互联网的发展 S un看到了O ak在计算机网络上的广阔应用前景于是

改造了O ak 以“Ja va”的名称正式发布。

Java编程语言的风格十分接近C、C++语言。 Java是一个纯的面向对象的程

序设计语言它继承了C++语言面向对象技术的核心 Java舍弃了C++语言中

容易引起错误的指针以引用取代、运算符重载ope rato r o verload ing、多重继

承以接口取代等特性增加了垃圾回收器功能用于回收不再被引用的对象所

FTP客户端的设计与实现

占据的内存空间使得程序员不用再为内存管理而担忧。在Java SE 1.5版本中Java又引入了泛型编程Generic Pro gramming、类型安全的枚举、不定长参数和自动装/拆箱等语言特性。 Java不同于一般的编译执行计算机语言和解释执行计算机语言。它首先将源代码编译成二进制字节码(bytecode)然后依赖各种不同平台上的虚拟机来解释执行字节码从而实现了“一次编译、到处执行”的跨平台特性。不过每次的编译执行需要消耗一定的时间这同时也在一定程度上降低了 Java程序的运行效率。但在J2SE 1.4.2发布后Java的执行速度有了大幅提升。 与传统程序不同 S un公司在推出 Java之际就将其作为一种开放的技术。全球数以万计的Java开发公司被要求所设计的Java软件必须相互兼容。 “Java语言靠群体的力量而非公司的力量”是S un公司的口号之一并获得了广大软件开发商的认同。这与微软公司所倡导的注重精英和封闭式的模式完全不同。

Java编程语言的主要特性是个简单、面向对象、分布式、解释性、健壮、安全与系统无关、可移植、高性能、多线程和动态的语言。

FTP客户端的设计与实现

第二章系统需求分析

——方莹莹

2. 1功能需求

1.实现一个图形用户界面的FTP客户端保证文件的安全传输和存储。

2.通过输入服务器地址、用户名和密码、可以实现远程FTP主机的登录。

3.提供本地文件的上传功能可对FTP主机文件进行下载、上传、删除、重

命名等文件操作。

4.可以查看一系列的操作的日志信息。

2.2系统模型设计

2.3系统工作流程设计

FTP客户端的设计与实现

FTP设计总流程图

FTP客户端的设计与实现

第三章系统设计

——高进

3.1实现功能

用户登陆、用户退出、文件上传、文件下载、文件重命名

文件删除、上翻文件目录、下翻文件目录

界面实现部分

设计为一个用户界面上面包括各种用户按钮、文本输入栏、状态栏等等。具体如下服务器地址信息输入栏、端口信息输入栏、用户名、密码输入栏、用户登陆连接按钮、用户退出断开连接按钮、服务器文件显示列表框、下载文件按钮、上传文件按钮、重命名文件按钮、删除文件按钮、上一级目录按钮下一级目录按钮状态栏。

3.2函数说明

3.2.1界面设计代码

每个按钮对象注册监听器对应相关的业务逻辑调用FtpBean类中的对应方法。下面是页面部分实现的主要代码以及相关说明package ftp;importjava.awt.event.*;import java.awt.*;import j ava.util.*;import java.util.List;import java.util.StringTokenizer;import java.io.*;import javax.swing.*;import javax.swing.event.*;public class FTP extends JFrame

{

FtpBean ftp=new FtpBean(); //FTP客户端对象pr ivate F ileW r iter wr ite;private P rintWriter o ut;private Date time;private JTextField url=new JTextField(); //FTP服务器地址private JTextF ield port=new JTextF ield(); //F TP服务器端口private JTextField username=new JTextField(); //用户名

FTP客户端的设计与实现

private JTextF ield password=new JTextF ield(); //密码private JTextF ie ld status=new JTextF ield();//当前状态private JButto n co nne ctButto n=new JButto n("连接");//连接按钮private JButton c loseButton=new JButto n("断开连接");//断开连接按钮private JPopupMenu popup=new JPopupMenu(); ;private JMenuItem re fresh=new JMenuItem("刷新"); //右键弹出菜单private JMenuItem de lete =new JMenuItem("删除");private JMenuIte m do wnload =new JMenuIte m("下载");private JMenuIte m up load =ne w JMe nuIte m("上传");private JMenuItem rename= new JMenuItem("重命名");private JMenuItem up Dir=new JMenuItem("上级目录");private JMe nuIte m s howLo g=ne w JMe nuIte m("显示日志信息");final DefaultListModel m=new DefaultListModel(); //显示文件列表JList fileList=new JList(m);

JScro llPane fileScro llPane;private D ime ns io n faceS ize=ne w D ime ns io n(400,600); //框架大小pub lic F TP()

{in it();createPop up(); //弹出菜单time=new Date();try

{write=ne w F ileWriter("lo g.txt",true);out=new PrintWriter(write,true);

}catch(IO Exception ioe)

{io e.printStackTrace();

}status.s etEd itab le(fa ls e);this.add(status,Borde rLayo ut.S OUTH); //下方connec tButto n.addAc tio nLis te ner(new Ac tio nListe ne r()

{public void actionPerformed(ActionEvent e)

{connec t();

欧路云:美国200G高防云-10元/月,香港云-15元/月,加拿大480G高防云-23元/月

欧路云 主要运行弹性云服务器,可自由定制配置,可选加拿大的480G超高防系列,也可以选择美国(200G高防)系列,也有速度直逼内地的香港CN2系列。所有配置都可以在下单的时候自行根据项目 需求来定制自由升级降级 (降级按天数配置费用 退款回预存款)。由专业人员提供一系列的技术支持!官方网站:https://www.oulucloud.com/云服务器(主机测评专属优惠)全场8折 优惠码:zhuji...

TMTHosting:夏季优惠,美国西雅图VPS月付7折,年付65折,美国服务器95折AS4837线路

tmthosting怎么样?tmthosting家本站也分享过多次,之前也是不温不火的商家,加上商家的价格略贵,之到斯巴达商家出现,这个商家才被中国用户熟知,原因就是斯巴达家的机器是三网回程AS4837线路,而且也没有多余的加价,斯巴达家断货后,有朋友发现TMTHosting竟然也在同一机房,所以大家就都入手了TMTHosting家的机器。目前,TMTHosting商家放出了夏季优惠,针对VPS推...

酷番云-618云上秒杀,香港1核2M 29/月,高防服务器20M 147/月 50M 450/月,续费同价!

官方网站:点击访问酷番云官网活动方案:优惠方案一(限时秒杀专场)有需要海外的可以看看,比较划算29月,建议年付划算,月付续费不同价,这个专区。国内节点可以看看,性能高IO为主, 比较少见。平常一般就100IO 左右。优惠方案二(高防专场)高防专区主要以高防为主,节点有宿迁,绍兴,成都,宁波等,节点挺多,都支持防火墙自助控制。续费同价以下专场。 优惠方案三(精选物理机)西南地区节点比较划算,赠送5...

ftp客户端为你推荐
急救知识纳入考试急救证容易拿到么?咏春大师被ko咏春高手散打冠军林文学近况www.niuav.com给我个看电影的网站抓站工具抓鸡要什么工具?yinrentangzimotang氨基酸洗发水的功效咋样?www.147qqqcom求女人能满足我的…b.faloo.com那有能看完整小说的在线阅读手机网站(我看得都是有删节的,内容勉强连贯)干支论坛天干地支常识?www.5566.com.cn大家在哪里在线看动漫?云鹏清动如脱兔 静若处子 怎么解释
域名主机基地 域名交易网 lnmp 80vps 老左博客 lighttpd 美国php空间 铁通流量查询 个人空间申请 52测评网 创梦 日本bb瘦 hkg 河南移动网 hktv 台湾google 云营销系统 沈阳主机托管 永久免费空间 酸酸乳 更多