文件传输协议的简单设计与实现

文件传输协议的简单设计与实现

ID:11732386

大小:183.00 KB

页数:28页

时间:2018-07-13

文件传输协议的简单设计与实现_第1页
文件传输协议的简单设计与实现_第2页
文件传输协议的简单设计与实现_第3页
文件传输协议的简单设计与实现_第4页
文件传输协议的简单设计与实现_第5页
资源描述:

《文件传输协议的简单设计与实现》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、文件传输协议的简单设计与实现摘要:文件传送是各种计算机网络都实现的基本功能,文件传送协议是一种最基本的应用层协议按照客户/服务器的模式进行工作,提供交互式的访问,是INTERNET使用最广泛的协议之一。本设计是用JAVA语言简单实现文件传输协议,利用SOCKET以及SERVERSOCKE等类方法,当中实现了上传、下载、获取服务器目录等基本文件传输功能。关键字:文件传输、FTP。1具体设计任务1.1实验内容我们的计算机网络实验环境建立在TCP/IP网络体系结构之上。各计算机除了安装TCP/IP软件外,还安装了TCP/IP开发系统。实验室各计算机具备W

2、indows环境中套接字socket的编程接口功能,可为用户提供全网范围的进程通信功能。本实验要求学生利用这些功能,设计和实现一个简单的文件传送协议。1.2具体要求用socket编程接口编写两个程序,分别为客户程序(client.c)和服务器程序(server.c),该程序应能实现下述命令功能:get:取远方的一个文件put:传给远方一个文件pwd:显示远主当前目录dir:列出远方当前目录cd:改变远方当前目录?:显示你提供的命令quit:退出返回此命令的具体工作方式(指给出结果的形式)可以参照FTP的相应命令,有余力的同学可以多实现几个命令。2基

3、本思路及所涉及的相关理论2.1文件传输协议网络协议是网络中计算机与终端之间正确传送信息和数据的规范格式,起包括语法、语义和时序这三部分。文件传输协议(FileTransferProtocol,FTP)是在TCP/IP网络中传输文件的一种格式规范,其规定在用户和服务器之间开设两个通信端口:控制端口和数据端口。前者生存周期为从用户登录开始直至用户登出,后者则在进行数据传送的时候打开,并且在数据传送完毕之后立即结束。控制端口用来监听双方共同规定的控制字以达到及时提供服务或响应,数据端口则要先将文件拆分成分组再进行传送,这样做的目的是为了更加好的适应网络中

4、的带宽限制,以及减少传送期间节点的延时,以达到高速传送。1.1基本思路:1.1.1模拟FTP的工作模式,在双方工作的时候开设两个端口,作为控制端口(2332)和数据端口(2326)。1.1.2规范控制字如下:LIST:获得服务器目录LOGIN:登陆GET:下载PUT:上传QUIT:登出对应服务器响应返回控制字:555:发送列表完毕444:登录成功000:登陆失败666:下载结束888:服务器关闭1.1.3模拟FTP工作机制,确定数据端口传送数据时,进行分组传送。1.1.4服务器从打开开始,保持监听控制端口,当用户登陆成功后,主动分配该用户服务线程。

5、1.1.5在传送数据的时候,为了确保不影响原程序的工作,应独立分配线程。2方案设计(主要网络设备、网络拓扑结构设计图)本设计基本设计图如下:客户端服务器数据传输控制字传输1网络具体配置步骤1.1服务器:1.1.1服务器界面:JPaneljp1=newJPanel(),jp2=newJPanel(),jp3=newJPanel();JButtonjb=newJButton("开始"),jb2=newJButton("end"),jb3=newJButton("del"),jb4=newJButton("浏览");staticJTextAreajt=n

6、ewJTextArea();booleanbool=true;JSplitPanejsp=newJSplitPane();JSplitPanejsp1=newJSplitPane(JSplitPane.VERTICAL_SPLIT);staticJScrollPanejsc=newJScrollPane();JPaneljp=newJPanel();staticStringnewpath=null;staticDefaultMutableTreeNoderoot;staticJTreetree;Stringname;Stringipaddress;

7、//实例化一些界面控件ftpserver(){super("服务器");//新建一个继承frame类的窗口this.setSize(600,500);//设置窗口大小this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);this.getContentPane().add(jsp);//添加JSplitPane面板jsp.setDividerLocation((int)(this.getWidth()*0.28));jsp.setLeftComponent(jsc);//设置JSplitPane面板左

8、边的内容jsp.setRightComponent(jsp1);//设置JSplitPane面板右边的内容jsp1.set

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。