java ftp api文档_课内资源 - 基于JAVA实现的FTP文件传输工具(包括TCP和UDP实现的客户端和服务端)...

本文档介绍了一个基于Java编写的FTP文件传输工具,涵盖了TCP和UDP协议的客户端和服务端。该工具旨在满足FTP文件传输需求,实现查看、上传和下载文件功能,同时讨论了系统分析、设计、用例模型、领域类图和测试等方面。
摘要由CSDN通过智能技术生成

1.系统概述

1.1 业务背景

FTP服务提供了对文件传输的支持,对FTP文件传输服务的需求是本程序的背景,当然现在已经有很多FTP的很好的实现,本程序也不可能说做得比知名的那些要好,在这里程序的目的是为了锻炼网络程序设计与实践和软件系统设计与开发实践能力。

1.2 总体目标

实现一个FTP服务,能够在客户端和服务器端查看和传输文件,使用TCP和UDP两种协议方式进行实现,最后会提供一个FTP服务器、一个FTP客户端。

2.系统分析和设计

2.1 系统概述

2.1.1 业务需求描述

FTP服务器需求

为客户端提供查看文件的功能

为客户端提供上传文件的功能

为客户端提供下载文件的功能

能够接受TCP协议的访问方式

能够接受UDP协议的访问方式

FTP客户端需求

能够从服务器上查看文件

能够向服务器上上传文件

能够从服务器上下载文件

能够通过TCP协议访问服务器

能够通过UDP协议访问服务器

2.1.2 外部接口需求硬件接口:无直接硬件接口,只通过OS等软件接口与硬件间接交互

软件接口:相应的JDK、JVM环境,以及标准的浏览器软件

通讯接口:TCP协议、UDP协议

2.1.3 非功能性需求

FTP服务器要求响应时间不能过长,且稳定、可靠;FTP客户端要求传输速度不能过慢,且可随时访问服务器。

2.1.4 约束条件

开发环境

Eclipse-Java IDE,windows7系统

整个项目由Java开发,所以要求系统装有相应的JDK、JVM环境,另外,FTP服务器和客户端要求系统有tcp、udp协议的接口

开发规范

文件命能清楚的描述其功能

代码中的空格与空行上下保持一致

有适量且清楚的注释

界面整洁,方便使用

所有函数及变量有能描述其功能的名字

应注意代码的简洁和优化

2.2 用例模型

2.2.1 用例图

321d1035b3be7e24227f286388211805.png

2.2.2 详细描述用例名称

FTP下载文件

描述

用户用FTP客户端从服务器上通过TCP协议下载一个文件

参与者与关注点

FTP客户端(用户):希望能够得到快速地响应,而且文件没有传输错误。FTP服务器:希望能够尽快完成客户端请求,有个较好的吞吐量。

事件流

主成功场景(或基本流程):客户端要求建立和服务器建立用于控制对话的TCP连接;服务器响应要求并完成3次握手建立连接;客户端向服务器发送文件名;服务器接受文件名并建立用于传输的TCP连接;客户端从服务器通过该连接下载文件;传输完毕,客户端断开与服务器的TCP连接;完成。任意TCP连接建立失败:服务器报错给服务器管理员,管理员检查服务器状态是否异常;客户端报错给用户并退出。文件传输过程出错:客户端报错给用户;用户重新使用客户端从服务器上下载文件或放弃下载。

前置条件

服务器已运行

2.3 领域类图

2.3.1 FTP(UDP)类图

c8ee8ce7c9eaf2e1b44a80e19d6c9510.png

2.3.2 FTP(UDP)核心顺序图

cf7f74b4262a8cd7e5987cf0795a6918.png

2.4 体系结构设计

37550f659a4110842ae743134cc74b43.png

2.5 程序流程图

FTP服务器

41f0ea3d091afbf18348cf116f2f2141.png

FTP客户端

07828dfc06e08c18cc677322dc23bf7d.png

2.6 测试截图

0ff46412b777449afd2fb8770572ee0b.png

d43e53b96e00dc37f501fe849d5449d3.png

3.总结

综上所述,程序实现了一个FTP文件传输工具,包括TCP服务器和客户端、UDP服务器和客户端。在简单规模的测试及使用下,程序运行正确且良好,在较大用户数下表现得一般,响应时间不是很好。作为一个学习网络程序设计的程序已经完成了目标。

这次作业中,复习了很多计算机网络的相关知识的同时也学到了很多新的实践方面的知识,锻炼了编程能力,感谢老师的辛勤付出。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值