4 FTP软件详细设计与实现
4.1软件总体分析与设计
根据需求分析,按照系统开发的基本观点对功能进行分解,从功能上可对模块作如下划分:
1.连接管理模块:主要完成主机与服务器之间的连接与关闭操作。
2.文件管理模块:主要完成文件的显示、新建文件、删除文件等。
3.文件传输模块:主要完成主机与服务器连接成功以后文件的上传与下载。
4.辅助功能模块:主要是保存一些登录信息和一些简单的配置信息。
4.2各模块具体设计
4.2.1 连接管理设计
该Ftp客户端工具用一个Winsocket连接上Ftp服务器,然后向其发送命令。在这个过程中,我们依靠发送——响应的机制。即发送Ftp命令——接收返回的响应信息——分析该信息——执行相关操作——发送下一条命令。在一般意义上,有一个socket用来连接Ftp服务器的相关端口(如默认的21),它负责Ftp命令的发送和接收返回的响应信息。一些操作如“进入目录”、“删除文件”,依靠这个socket发送一条命令就可完成了。
1.客户端与服务器连接
FTP是建立在TCP之上的连接,端口号使用21。若客户端与服务器之间成功连接,服务器将返回字符串,如:220 GMS (Version 5.0)。
前三个字符220表示客户端与服务器成功连接,后面的字符会因服务器的不同而不同,但我们只关心前三个字符。
2.用户名和密码认证
客户端发送用户名给服务器,如:USER he,如果服务器找到用户名he,将返回字符串,如:331 User name okay, needpassword。
接着客户端应发送密码给服务器,如:PASS 123