欢迎来到天天文库
浏览记录
ID:6052967
大小:370.00 KB
页数:6页
时间:2018-01-01
《计算机网络课程设计--ftp模拟》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、计算机网络课程设计实践报告题目:简单FTP模拟姓名:朱晓琳学院:信息科技学院专业:计算机科学技术系班级:计科72学号:1927213指导教师:叶锡君职称:副教授2010年9月10日简单FTP模拟计算机科学与技术专业学生计科72班朱晓琳1、实验目的与要求(1)利用面向对象程序设计语言开发简单FTP软件。(2)理解掌握文件传输协议的具体内容。(3)要求可以传递简单文本文件。(4)设计美观易用的图形界面。2、理论分析2.1FTP的概念FTP是FileTransferProtocol(文件传输协议)的英文简称,而中文简称为“文传协议”。用于Internet上的控制文
2、件的双向传输。同时,它也是一个应用程序(Application)。用户可以通过它把自己的PC机与世界各地所有运行FTP协议的服务器相连,访问服务器上的大量程序和信息。FTP的主要作用,就是让用户连接上一个远程计算机(这些计算机上运行着FTP服务器程序)察看远程计算机有哪些文件,然后把文件从远程计算机上拷到本地计算机,或把本地计算机的文件送到远程计算机去。2.2FTP的工作原理当你启动FTP从远程计算机拷贝文件时实际上启动了两个程序:一个本地机上的FTP客户程序,它向FTP服务器提出拷贝文件的请求。另一个是启动在远程计算机的上的FTP服务器程序,它响应你的请求
3、把你指定的文件传送到你的计算机中。FTP采用“客户机/服务器”方式。用户端在自己的本地计算机上安装FTP客户程序。FTP客户程序有字符界面和图形界面两种。字符界面的FTP的命令复杂、繁多。图形界面的FTP客户程序,操作上要简洁方便的多。在FTP的使用当中,用户经常遇到两个概念:“下载”(Download)和“上传”(Upload)。“下载”文件就是从远程主机拷贝文件至自己的计算机上;“上传”文件就是将文件从自己的计算机中拷贝至远程主机上。用Internet语言来说,用户可通过客户机程序向(从)远程主机上传(下载)文件。使用FTP时必须首先登录,在远程主机上获
4、得相应的权限以后,方可下载或上传文件。也就是说,要想同哪一台计算机传送文件,就必须具有哪一台计算机的适当授权。换言之,除非有用户ID和口令,否则便无法传送文件。3、系统简介本系统以FTP的工作原理和权限归属为基础,用java语言编写程序,使用MVC设计模式进行设计,用简单界面展示,用socket编程和二进制输入输出流来实现了FTP文件上传,下载,打印文件列表功能。本系统采用端口为4321和IP地址为127.0.0.1连接。另外,考虑到FTP权限归属问题,设置了两个登录权限,anonymous用户和admin用户。anonymous用户只能打印文件列表和下载文
5、件功能。而admin用户可以上传、下载和打印列表。4、功能设计4.1系统用例图4.2打印ftp文件列表4.2.1打印算法描述如下:1、创建以ftp文件路径的文件,用一个数组存储文件列表2、用for循环打印所有文件4.2.2打印算法代码如下:publicvoidprintAllFile(Sockets1)throwsIOException{//打印ftp中的所有文件Filelocalfile=newFile(fileDir);File[]filelist=localfile.listFiles();dos=newDataOutputStream(s1.getO
6、utputStream());//输出文件列表dos.writeUTF(filelist.length+"");//ftp中的文件总数dos.writeUTF("");for(inti=0;i7、的数据并封装2、在下载目录下创建该文件名的文件3、将文件封装到输出流进行输入4、客户端进行接收4.3.2下载算法代码如下:(只给出了服务器端的代码)publicvoiddownloadFile(Sockets,Stringstr)throwsException{//下载文件dis=newDataInputStream(fileSocket.getInputStream());Filef=newFile(fileDir);//下载目录Filefile=newFile(f,File.separator+str);fileSocket=newSocket(clie8、ntView.getIPField().getTex
7、的数据并封装2、在下载目录下创建该文件名的文件3、将文件封装到输出流进行输入4、客户端进行接收4.3.2下载算法代码如下:(只给出了服务器端的代码)publicvoiddownloadFile(Sockets,Stringstr)throwsException{//下载文件dis=newDataInputStream(fileSocket.getInputStream());Filef=newFile(fileDir);//下载目录Filefile=newFile(f,File.separator+str);fileSocket=newSocket(clie
8、ntView.getIPField().getTex
此文档下载收益归作者所有