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

Sparkedhost($8/月)美国迈阿密AMD Ryzen高性能VPS;免费100G高防

sparkedhost怎么样?sparkedhost主机。Sparkedhost于2017年7月注册在美国康涅狄格州,2018年收购了ClynexHost,2019年8月从Taltum Solutions SL收购了The Beast Hosting,同年10月从Reilly Bauer收购了OptNode Hosting。sparkedhost当前的业务主要为:为游戏“我的世界”提供服务器、虚拟...

LayerStack$10.04/月(可选中国香港、日本、新加坡和洛杉矶)高性能AMD EPYC (霄龙)云服务器,

LayerStack(成立于2017年),当前正在9折促销旗下的云服务器,LayerStack的云服务器采用第 3 代 AMD EPYC™ (霄龙) 处理器,DDR4内存和企业级 PCIe Gen 4 NVMe SSD。数据中心可选中国香港、日本、新加坡和洛杉矶!其中中国香港、日本和新加坡分为国际线路和CN2线路,如果选择CN2线路,价格每月要+3.2美元,付款支持paypal,支付宝,信用卡等!...

LOCVPS:VPS主机全场8折,德国/荷兰/美国KVM终身7折

LOCVPS发来了针对元旦新年的促销活动,除了全场VPS主机8折优惠外,针对德国/荷兰KVM #1/美国KVM#2 VPS提供终身7折优惠码(限量50名,先到先得)。LOCVPS是一家成立于2012年的国人VPS服务商,提供中国香港、韩国、美国、日本、新加坡、德国、荷兰、俄罗斯等地区VPS服务器,基于KVM或XEN架构(推荐优先选择KVM),均选择直连或者优化线路,国内延迟低,适合建站或远程办公使...

ftp客户端为你推荐
brandoff国际大牌包包都有哪些呐?同ip网站查询同ip地址站点查询 我本地怎么查询不了罗伦佐娜罗拉芳娜 (西班牙小姐)谁可以简单的介绍以下同ip站点查询如何查看几个站是不是同IPmole.61.com谁知道摩尔庄园的网址啊www.765.com有没好的学习网站m.2828dy.combabady为啥打不开了,大家帮我提供几个看电影的网址haole10.com空人电影网改网址了?www.10yyy.cn是空人电影网么www.493333.comwww.xiaonei.com铂金血痕“斑斑的血痕”是什么意思?
org域名 中文域名申请 罗马假日广场 免费申请网页 美国翻墙 cpanel主机 申请个人网页 商务主机 我爱水煮鱼 圣诞促销 大容量存储器 jsp空间 lol台服官网 美国堪萨斯 台湾谷歌 电信主机 万网空间购买 卡巴斯基免费试用版 中国电信宽带测速器 登陆空间 更多