FTP客户端的设计与实现_计算机网络课程设计报告(15页).doc
《FTP客户端的设计与实现_计算机网络课程设计报告(15页).doc》由会员分享,可在线阅读,更多相关《FTP客户端的设计与实现_计算机网络课程设计报告(15页).doc(15页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、-FTP客户端的设计与实现_计算机网络课程设计报告-第 13 页课程设计报告课程名称: 计算机网络 设计题目: FTP客户端的设计与实现 系 别: 计算机与信息工程学院 专 业: 计算机科学与技术 计算机科学与技术系二一 一年制课程设计任务书课程设计题目FTP客户端的设计与实现组长学号2011220081班级计专112班系别计算机与信息工程学院专业计算机科学与技术组员指导教师课程设计目的根据FTP协议的工作原理,实现一个FTP的客户端程序课程设计所需环境开发环境:JCreator Pro 运行环境:Windows操作系统课程设计任务要求(1) 根据账号和密码登录指定的FTP服务器;(2) 能够
2、查看服务器内容列表,重命名或删除指定的文件/文件夹;(3) 上传或下载选定的文件到服务器上。课程设计工作进度计划序号起止日期工 作 内 容分工情况12011-11-25至2011-11-28明确设计目的,网上、图书馆搜查资料小组成员共同参与22011-11-29至2011-12-5界面设计,连接服务器,获取文件列表,断开连接32011-12-2至2011-12-6上传文件、下载文件由42011-12-5至2011-12-8删除、重命名文件及刷新列表由52011-12-5至2011-12-8返回上级目录,查看日志信息由62011-12-7至2011-12-9最后整合测试修改由指导教师签字: 年
3、月 日教研室审核意见:教研室主任签字: 年 月 日目 录第一章 序言31.1课题来源31.2开发工具4第二章 系统需求分析52.1功能需求52.2 系统模型设计52.3 系统工作流程设计5第三章 系统设计63.1实现功能63.2函数说明63.2.1界面设计代码63.2.2功能实现函数10第四章 系统实现134.1界面设计的实现134.1.1连接服务器134.1.2获取文件列表144.1.3断开服务器154.1.4上传文件164.1.5下载184.1.6重命名194.1.7删除214.1.8刷新224.1.9返回上一目录234.1.10查看日志信息23第五章 总结24第六章 参考文献25第一章
4、序言 耿桂花1.1课题来源FTP(File Transfer Protocol, FTP)是TCP/IP网络上两台计算机传送文件的协议,FTP是在TCP/IP网络和INTERNET上最早使用的协议之一,它属于网络协议组的应用层。FTP客户机可以给服务器发出命令来下载文件,上载文件,创建或改变服务器上的目录。FTP是一个8位的客户端-服务器协议,能操作任何类型的文件而不需要进一步处理,就像MIME或Unencode一样。但是,FTP有着极高的延时,这意味着,从开始请求到第一次接收需求数据之间的时间会非常长,并且不时的必需执行一些冗长的登陆进程。FTP服务一般运行在20和21两个端口。端口20用于
5、在客户端和服务器之间传输数据流,而端口21用于传输控制流,并且是命令通向ftp服务器的进口。当数据通过数据流传输时,控制流处于空闲状态。而当控制流空闲很长时间后,客户端的防火墙会将其会话置为超时,这样当大量数据通过防火墙时,会产生一些问题。此时,虽然文件可以成功的传输,但因为控制会话会被防火墙断开,传输会产生一些错误。FTP客户端主要目标是:促进文件的共享(计算机程序或数据);鼓励间接或者隐式的使用远程计算机;向用户屏蔽不同主机中各种文件存储系统的细节;可靠和高效的传输数据。因此,开发FTP客户端成为一个很有必要的事情。1.2开发工具随着程序设计技术的改革和计算机环境的改变,Java语言也得到
6、了迅速发展。一方面,C+等面向对象程序设计语言的发展为Java提供了基础。事实上,Java也大量继承了C以及C+的成果,并增加了体现程序设计发展状态的功能。另一方面,网络及Internet的发展对程序设计提出了新的要求,为Java的发展注入了强大的动力。正是Internet的快速发展和普及,改变了传统的计算模式,促进了Java的普及与流行。它最初被命名为Oak,目标设定在家用电器等小型系统的编程语言,来解决诸如电视机、电话、闹钟、烤面包机等家用电器的控制和通讯问题。由于这些智能化家电的市场需求没有预期的高,Sun放弃了该项计划。就在Oak几近失败之时,随着互联网的发展,Sun看到了Oak在计算
7、机网络上的广阔应用前景,于是改造了Oak,以“Java”的名称正式发布。Java 编程语言的风格十分接近C、C+语言。Java是一个纯的面向对象的程序设计语言,它继承了 C+ 语言面向对象技术的核心,Java舍弃了C +语言中容易引起错误的指针(以引用取代)、运算符重载(operator overloading)、多重继承(以接口取代)等特性,增加了垃圾回收器功能用于回收不再被引用的对象所占据的内存空间,使得程序员不用再为内存管理而担忧。在 Java SE 1.5 版本中,Java 又引入了泛型编程(Generic Programming)、类型安全的枚举、不定长参数和自动装/拆箱等语言特性。
8、 Java 不同于一般的编译执行计算机语言和解释执行计算机语言。它首先将源代码编译成二进制字节码(bytecode),然后依赖各种不同平台上的虚拟机来解释执行字节码,从而实现了“一次编译、到处执行”的跨平台特性。不过,每次的编译执行需要消耗一定的时间,这同时也在一定程度上降低了 Java 程序的运行效率。但在 J2SE 1.4.2 发布后,Java 的执行速度有了大幅提升。 与传统程序不同,Sun 公司在推出 Java 之际就将其作为一种开放的技术。全球数以万计的 Java 开发公司被要求所设计的 Java 软件必须相互兼容。“Java 语言靠群体的力量而非公司的力量”是 Sun 公司的口号之
9、一,并获得了广大软件开发商的认同。这与微软公司所倡导的注重精英和封闭式的模式完全不同。 Java 编程语言的主要特性是个简单、面向对象、分布式、解释性、健壮、安全与系统无关、可移植、高性能、多线程和动态的语言。 第二章 系统需求分析 方莹莹2.1功能需求1.实现一个图形用户界面的FTP客户端,保证文件的安全传输和存储。2.通过输入服务器地址、用户名和密码、可以实现远程FTP主机的登录。3.提供本地文件的上传功能,可对FTP主机文件进行下载、上传、删除、重命名等文件操作。4.可以查看一系列的操作的日志信息。2.2 系统模型设计控制进程数据传送进程用户接口命令与应答控制连接数据连接文件传输数据传送
10、进程控制进程服务器客户端FTP的基本模型2.3 系统工作流程设计客户端用户登录登录验证操作内容列表查看文件列表连接成功至服务器端上传文件重命名文件上翻文件列表删除文件下翻文件列表下载文件文件管理连接失败退出FTP设计总流程图第三章 系统设计 高进3.1实现功能 用户登陆、用户退出、文件上传、文件下载、文件重命名文件删除、上翻文件目录、下翻文件目录界面实现部分:设计为一个用户界面,上面包括各种用户按钮、文本输入栏、状态栏等等。具体如下:服务器地址信息输入栏、端口信息输入栏、用户名、密码输入栏、用户登陆(连接)按钮、用户退出(断开连接)按钮、服务器文件显示列表框、下载文件按钮、上传文件按钮、重命名
11、文件按钮、删除文件按钮、上一级目录按钮,下一级目录按钮,状态栏。3.2函数说明3.2.1界面设计代码 每个按钮对象注册监听器对应相关的业务逻辑,调用FtpBean类中的对应方法。下面是页面部分实现的主要代码以及相关说明:package ftp;import java.awt.event.*;import java.awt.*;import java.util.*;import java.util.List;import java.util.StringTokenizer;import java.io.*;import javax.swing.*;import javax.swing.event
12、.*;public class FTP extends JFrameFtpBean ftp=new FtpBean();/FTP客户端对象 private FileWriter write ;private PrintWriter out;private Date time; private JTextField url = new JTextField(); /FTP服务器地址 private JTextField port = new JTextField(); /FTP服务器端口 private JTextField username = new JTextField(); /用户名 p
13、rivate JTextField password = new JTextField(); /密码private JTextField status = new JTextField();/当前状态private JButton connectButton=new JButton(连接);/连接按钮private JButton closeButton=new JButton(断开连接);/断开连接按钮private JPopupMenu popup = new JPopupMenu();private JMenuItem refresh = new JMenuItem(刷新); /右键弹出
14、菜单private JMenuItem delete = new JMenuItem(删除); private JMenuItem download = new JMenuItem(下载); private JMenuItem upload = new JMenuItem(上传); private JMenuItem rename = new JMenuItem(重命名);private JMenuItem upDir = new JMenuItem(上级目录);private JMenuItem showLog = new JMenuItem(显示日志信息);final DefaultLis
15、tModel m=new DefaultListModel(); /显示文件列表JList fileList = new JList(m);JScrollPane fileScrollPane;private Dimension faceSize = new Dimension(400, 600); /框架大小public FTP() init(); createPopup(); /弹出菜单time = new Date();try write = new FileWriter(log.txt,true);out = new PrintWriter(write,true); catch(IOE
16、xception ioe) ioe.printStackTrace(); status.setEditable(false); this.add(status,BorderLayout.SOUTH); /下方connectButton.addActionListener( new ActionListener() public void actionPerformed(ActionEvent e) connect();closeButton.addActionListener(new ActionListener() public void actionPerformed(ActionEven
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- FTP 客户端 设计 实现 计算机网络 课程设计 报告 15
限制150内