客户端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();

CloudCone(1.99美元),可以额外选择Voxility高防IP

CloudCone 商家也是比较有特点的,和我们熟悉的DO、Vultr、Linode商家均是可以随时删除机器开通的小时计费模式。这个对于有需要短租服务器的来说是比较有性价比的。但是,他们还有一个缺点就是机房比较少,不同于上面几个小时计费服务商可以有多机房可选,如果有这个多机房方案的话,应该更有特点。这次我们可以看到CloudCone闪购活动提供洛杉矶三个促销方案,低至月付1.99美元。商家也可以随...

星梦云-年中四川100G高防云主机月付仅60元,西南高防月付特价活动,,买到就是赚到!

官方网站:点击访问星梦云活动官网活动方案:机房CPU内存硬盘带宽IP防护流量原价活动价开通方式成都电信优化线路4vCPU4G40G+50G10Mbps1个100G不限流量210元/月 99元/月点击自助购买成都电信优化线路8vCPU8G40G+100G15Mbps1个100G不限流量370元/月 160元/月点击自助购买成都电信优化线路16vCPU16G40G+100G20Mb...

racknerd:美国大硬盘服务器(双路e5-2640v2/64g内存/256gSSD+160T SAS)$389/月

racknerd在促销美国洛杉矶multacom数据中心的一款大硬盘服务器,用来做存储、数据备份等是非常划算的,而且线路还是针对亚洲有特别优化处理的。双路e5+64G内存,配一个256G的SSD做系统盘,160T SAS做数据盘,200T流量每个月,1Gbps带宽,5个IPv4,这一切才389美元...洛杉矶大硬盘服务器CPU:2 * e5-2640v2内存:64G(可扩展至128G,+$64)硬...

ftp客户端为你推荐
sherylsandbergLean In是一个怎样的组织lunwenjiancepaperfree论文检测安全吗www.jjwxc.net在哪个网站看小说?www.yahoo.com.hk香港的常用网站sss17.com为什么GAO17.COM网站打不开了m.kan84.net那里有免费的电影看?斗城网女追男有多易?喜欢你,可我不知道你喜不喜欢我!!平安夜希望有他陪我过www.ijinshan.com桌面上多了一个IE图标,打开后就链接到009dh.com这个网站,这个图标怎么删掉啊?ww.66bobo.com这个www.中国应急救援网.com查询证件是真是假?月风随笔享受生活作文600字
北京租服务器 美国vps推荐 淘宝二级域名 主机屋 idc评测 息壤主机 美国主机推荐 海外服务器 香港cdn shopex空间 NetSpeeder eq2 panel1 免费全能空间 权嘉云 中国网通测速 息壤代理 香港新世界中心 台湾google 网购分享 更多