网络协议分析课设.docx
- 文档编号:29235630
- 上传时间:2023-07-21
- 格式:DOCX
- 页数:13
- 大小:158.24KB
网络协议分析课设.docx
《网络协议分析课设.docx》由会员分享,可在线阅读,更多相关《网络协议分析课设.docx(13页珍藏版)》请在冰豆网上搜索。
网络协议分析课设
郑州轻工业学院
课程设计报告
题目:
网络协议分析课程设计
姓名:
院(系):
国际教育学院
专业班级:
互联网12级2班
学号:
指导教师:
尹毅峰张俊松杨杰
成绩:
时间:
2016年1月4日至2016年1月8日
目录
1.序言1
1.1研究背景1
1.2开发工具1
2.系统需求分析1
2.1功能需求1
2.2系统模型设计2
2.3系统工作流程设计2
3.系统设计3
3.1实现功能3
3.2函数说明3
3.2.1功能实现函数3
4.系统实现6
4.1界面设计的实现7
4.1.1连接服务器7
4.1.2获取文件列表7
4.1.3断开服务器7
4.1.4上传文件8
4.1.5下载8
4.1.6删除9
5.总结11
参考文献12
1.序言
摘要
FTP是Internet上用来传送文件的协议。
它是为了我们能够在Internet上互相传送文件而制定的文件传送标准,规定了Internet上文件如何传送。
通过FTP协议,我们就可以跟Internet上的FTP服务器进行文件的上传或下载。
本文以实现一个简单易用的FTP客户端为目标,通过分析FTP协议的基本工作原理和FTP的数据传输原理,研究如何使用Java工具对FTP客户端进行设计,选择Java类库中的ftpclient类来实现FTP客户端程序的上传下载等主要功能,并用Jbuilder2006软件提供的一个支持可视化编程的开发环境,从而实现了对FTP客户端的开发.
关键词:
FTP协议、工作原理、ftpclient、上传下载
1.1研究背景
FTP是Internet上最早也是最广的应用,直到今天它仍是最重要和最基本的应用之一。
用FTP将信息下载到本地是一件十分普遍的事。
也随之出现了许多下载软件。
尽管远程登录(Telnet)提供了访问远程文件的极好方法,但怎么也比不上使用自己计算机中的文件方便。
如果用户想使用其它计算机上的文件,最理想的方法就是把它COPY到自己的计算机中,以便在本地计算机上操作。
FTP正是完成这项工作的工具,你可以在任意一个经过文件传输协议(FTP)访问的公共有效的联机数据库或文档中找到你想要的任何东西。
传统的数据库应用系统采用的是客户机/服务器(Client/Server)模式,有高度的交互性,高效的用户界面等优点.
1.2开发工具
Java编程语言,Java编程语言的主要特性是个简单、面向对象、分布式解释性、健壮、安全与系统无关、可移植、高性能、多线程和动态的语言。
2.系统需求分析
2.1功能需求
1.实现一个图形用户界面的FTP客户端,保证文件的安全传输和存储。
2.通过输入服务器地址、用户名和密码、可以实现远程FTP主机的登录。
3.提供本地文件的上传功能,可对FTP主机文件进行下载、上传、删除、重命名等文件操作。
2.2系统模型设计
图2-1系统模型图
2.3系统工作流程设计
图2-2系统工作流程图
3.系统设计
3.1实现功能
用户登陆用户退出文件上传文件下载
文件删除上翻文件目录下翻文件目录
界面实现部分:
设计为一个用户界面,上面包括各种用户按钮、文本输入栏、状态栏等等。
具体如下:
服务器地址信息输入栏、端口信息输入栏、用户名、密码输入栏、用户登陆(连接)按钮、用户退出(断开连接)按钮、服务器文件显示列表框、下载文件按钮、上传文件按钮、重命名文件按钮、删除文件按钮、上一级目录按钮,下一级目录按钮,状态栏。
3.2函数说明
3.2.1功能实现函数
使用SUN公司提供的FTP客户端类库。
主要包括4个类:
.TelnetInputStream
.TelnetOutputStream
.ftp.FtpClient
.ftp.FtpLoginException
编写FtpBean类实现业务逻辑,包含一个FtpClient类的对象ftpClient。
包含的方法如下:
(1)建立连接
Stringconnect(Stringdir,Stringhostname,intport,Stringusername,Stringpasswd)
使用ftpClient=newFtpClient(hostname,port);
ftpClient.login(username,passwd);
(2)获取文件名列表
List
使用InputStreamReaderisr=null;
BufferedReaderbr=null;
isr=newInputStreamReader(this.ftpClient.nameList(this.getDir()));
br=newBufferedReader(isr);
获取输入流来得到目录中的文件信息
(3)判断路径
booleanisDir(Stringline)
使用line.startsWith("d")来判断
(4)设置路径
booleansetPath(Stringpath)
使用ftpClient.cd(path);实现
(5)上传文件
booleanuploadFile(StringlocalFile,StringtargetFileName)
使用ftpClient.cd(path);实现
(5)上传文件
booleanuploadFile(StringlocalFile,StringtargetFileName)
使用
TelnetOutputStreamtos=null;
RandomAccessFilesendFile=null;
DataOutputStreamdos=null;
try
{
Filefile=newFile(localFile);
sendFile=newRandomAccessFile(file,"r");
sendFile.seek(0);
tos=this.ftpClient.put(targetFileName);
dos=newDataOutputStream(tos);
intch=0;
while(sendFile.getFilePointer() { ch=sendFile.read(); dos.write(ch); } 获取文件输出流,读取数据并写入文件 (6)下载文件 booleandownloadFile(StringsrcFileName,StringtargetFileName) 使用TelnetInputStreamtis=null; RandomAccessFilegetFile=null; booleanresult=true; try { Filefile=newFile(targetFileName); getFile=newRandomAccessFile(file,"rw"); getFile.seek(0); tis=this.ftpClient.get(srcFileName); DataInputStreamdis=newDataInputStream(tis); intch=0; while(true) { ch=dis.read(); if(ch<0) { break; } getFile.write(ch) } getFile.close(); } 获取文件输入流,读取数据并写入文件 (7)进入上一级文件目录 up() 使用ftpClient.cdUp();实现 (8)进入下一级文件目录 downDir() 使用上面的方法来实现下一级文件目录的访问 (9)给文件重命名 booleanrenameFile(StringoldName,StringnewName) 使用ftpClient.rename(oldName,newName);来实现 (10)删除文件 deleteFile(StringfileName) 使用Stringcmd="DELE"+fileName+"\r\n"; ftpClient.sendServer(cmd); 来实现 (11)获取当前路径 StringgetDir() 使用returnthis.ftpClient.pwd();实现 (12)关闭连接 Stringclose() 使用ftpClient.closeServer();实现 4.系统实现 4.1界面设计的实现 4.1.1连接服务器 单击连接若服务器名称、端口、用户名和密码对的前提下登录到指定的服务器上面,弹出“登录成功”对话框,并在下方状态栏中显示“登录成功 图4.1连接服务器 4.1.2获取文件列表 登录到服务器上面之后,获取在服务器用户的主文件及文件夹 并在下方状态栏显示 图4.2获取文件列表 4.1.3断开服务器 当用户需要关闭连接时,单机“断开连接”就可断开与服务器的连接,在状态栏上显示“连接已断开”,此时并不退出客户端。 图4.3断开服务器 4.1.4上传文件 选中FTP服务器上的文件夹,右击弹出快捷菜单单击上传显示上传对话框,选择需要传的文件,单击打开即可上传,上传成功显示“上传成功”对户框,并在状态栏显示当前状态。 4.1.5下载 选中FTP服务器上的文件夹右击弹出快捷菜单,单击下载. 图4.4下载 弹出下载主机路径,指定目录以及文件名称,单击打开 图4.5存储下载文件 下载成功会弹出对话框“下载文件+源文件具体目录+成功” 图4.6下载成功 4.1.6删除 选中需要删除的文件,右击弹出快捷菜单,单击删除 图4.7删除 弹出删除文件成功消息框 图4.7删除成功 此时的文件夹已经把选中的从列表中移除。 5.总结 通过为期一周的课程设计,我对FTP又有了重新的认识,加深了我对它的理解,虽然说在课程设计中遇到了很多问题和困难,但是在老师的指导下及我和其他小组成员的积极探讨和研究下,我终于完成了小组的课程设计——FTP客户端的设计及实现服务器的搭建。 虽然我们在该系统功能上还有许多不足,但通过这一段时间的设计,从拟定方案,设计模块,解决开发过程中遇到的各种困难,最终实现了该文件传输系统的基本功能。 使我们对FTP客户端有了更深的了解。 FTP的目标是提高文件的共享性和可靠高效地传送数据,而FTP客户端的作用是使用户方便的连接和访问FTP客户端。 该设计实现了简单的FTP客户端,选择java类库使客户通过FTP客户端能简单地连接和访问,上传、下载、删除、刷新、返回上级目录等基本的操作功能。 参考文献 [1]杨树林,胡洁萍Java语言最新实用案例教程。 北京: 科学出版社,2006。 [2]叶俊明软件工程。 北京: 清华大学出版社,2006: 第三章软件需求分析基础。 [3]W.RichardStevens.TCP/TP详解卷1: 协议。 北京: 机械工业出版社,2000。 [4]谢希仁计算机网络(第五版)。 北京: 电子工业出版社,2006。 [5]赵生慧等编译Java面向对象程序设计(第二版)。 北京: 中国水利水电出版社,2010。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 网络 协议 分析
![提示](https://static.bdocx.com/images/bang_tan.gif)