【项目】我的网盘(底层是由ftp实现)

在网络时代,网络连接着世界,几乎涵盖了人们的衣食住行,买衣服可以逛“淘宝”、“京东”、“唯品会”,出去吃饭没带钱可以扫“支付宝”,旅游住酒店可以在“美团”上提前预定房间,出远门买火车票可以在“12306”提前购买火车票、“滴滴打车”、“摩拜”方便人们的出行。同样,网盘作为一种新的存储文件的方式,越来越受大家的欢迎。我综合分析了一下,网盘代替之前旧的存储方式的原因主要有以下几点:

1.便于携带
将常用文件存入网络硬盘,在需要的时候既可以用来展示还可以给其他人发送电子邮件避免了携带太多文件的麻烦。
2.便于保管
可以将个人电脑中的重要文件存入网络硬盘 防止因为电脑出现意外造成的文件丢失。
3.利于文件的珍藏
由于个人电脑硬盘空间有限可以将喜欢的文件存入网络硬盘。
4.永久使用
不必维修网络硬盘不像U盘那样有一定使用寿命可以永久使用而不必担心维修和服务的问题。

该项目主要实现FTP服务器,了解FTP的原理,和HTTP协议一样,FTP协议也是工作在TCP/IP协议族的应用层,其传输协议是TCP协议,目的在于提高文件传输的共享性和可靠性,是基于客户/服务器模式工作的。

与一般的C/S模型相比,FTP稍微复杂一些,FTP建立两条连接,一条是控制连接,另一条是数据连接。FTP将命令与数据分开传输,正是因为这样,提高了传输效率。

FTP使用两个端口,分别为控制端口和数据端口。控制socket用来传输命令,数据socket用来传输数据。每一个FTP命令发送后,FTP服务器就会返回一个字符串,其中包含一个响应码和一些说明信息,其中响应码主要用于判断命令是否被成功执行了。

为了便于理解,我形象的将FTP交互的过程比喻为:有两人小刚和小红,小刚想和小红搭讪,小刚比较礼貌,首先征求小红的意见,小红同意后,两人进行聊天。在聊天的过程中,小刚和小红聊得很投机,就互赠礼物了。
但是小红这个人很好,有很多人都欣赏她,就有很多人给小红发消息,和小红聊天,互赠礼物。由于和小红聊天的人较多,给小红送礼物前,需要将发送的人的信息发送过来,才可以分清是谁给小红送的礼物。当小红收到发送人发送来的个人信息后,同意,那么赠送礼物的通道就打开了,就可以互赠礼物了。其中,赠送礼物的方式也会不同。

详细内容请查看我的博客:FTP服务器原理


初期,首先考虑需求,对ftp服务器需求进行设计,撰写说明书。

主要包括用户需求和软件需求,这里着重写软件需求,分为:用户登录、显示子目录和文件、上传文件、下载文件。

详细内容请查看我的博客:自主FTP服务器需求说明书


用网络套接字编程实现ftp服务器和客户端,在编程中,掌握一些可以用到的函数,以及根据需求来实现,有整体的框架。

具体的实现细节请查看:FTP服务器实现


最后,对于我们的项目进行测试,主要从功能测试、界面测试、性能测试、安全性测试入手,针对文件传输进行文件大小、名称、格式的测试,进行测试,避免不必要的错误发生,从而调高项目的质量。

测试细节请查看:FTP服务器测试用例设计


具体实现请查看:源码

猜你喜欢

转载自blog.csdn.net/ZWE7616175/article/details/81591832
今日推荐