第1 章 绪言 3
1.1软件项目简介 3
1.2技术概述 3
1. 2.1应用WinSock实现网络通信 3
1. 2.2 FTP运行原理 5
第2 章 FTP服务器的开发设计-通信控制 6
2.1.FTP服务器的概要设计 6
2.1.1 FTP系统模型 6
2.1.2客户端设计到网络通讯结构 6
2.1.3. FTP协议模型 7
2.1.4 FTP协服务端和客户端的通讯过程 7
2.2.通信服务器的类设计 8
2.2.1成员函数定义 8
2.2.2成员变量定义 8
2.3.网络功能设计 8
2.3.1登录服务器 8
2.3.2打开控制通道 9
2.3.3发送命令 10
2.3.4列出文件列表 12
2.3.5文件的上传和下载 14
致谢 17
结论 17
参考书目 17
第1 章 绪言
由于FTP的独特优势,目前在Internet传输批量文件仍然广泛应用FTP。
FTP是一种通用的,具有一定安全性的并且作为移动数据的传输机制。它允许用户向服务器提供凭证,然后就可以列出文件夹并双向传输文件。FTP允许在客户机与FTP服务器之间以及两个其他远程机器之间创建并且传输文件。
在Internet传输文件的FTP协议及软件实现,其功能多,实现技术复杂,许多功能用户很少使用。因此在Windows环境下应用Visual C++6.0开发FTP软件。软件在局域网的环境实现客户机与服务器之间文件传输和操作等基木功能。
1.1软件项目简介
FTP协议是基于TCP/IP协议的应用层协议之一,在实际运行中,它使用两个TCP连接来完成文件传输操作,这两个TCP连接分别是控制连接和数据连接在整个FTP处理过程中,控制连接起传输控制信息的作用,它始终保持主动状态用户需求的数据是通过数据连接来传输的。
基于此,我们模仿FTP服务器工作模式,以客户/服务器为模型,分客户端,通信服务器两个主模块。以列表的形式显示客户端当前文件目录和服务器端目地文件夹目录,通过此方式我们很方便的为用户提供文件查询,上传和下载功能。
本人此次毕业设计的主要任务是用Winsock实现服务器与客户端的网络通信传输,并测试网络通信功能,主要包括网络传送的代码,以及上传下载文件的调试与整个程序的集成。
1.2技术概述
1. 2.1应用WinSock实现网络通信
WinSock是Microsoft等公司联合开发的网络编程接口,其实是一种进程互相互通信的机制,并将这种进程间通信从单机环境扩展到网络环境,适合于开发主机/客户机通信程序网络通信包括两台主机或者两个进程通过网络传递数据,网络的每一端称为一个端点,而WinSock为网络端点的抽象表示当用其编程时,程序在网络对话的每端都需要一个Socket,两个Socket之间可以应用而向连接的或者是无连接的网络协议。
面向连接的协议通过互换确认信息在连接端口之间建立一条虚电路,它不必关心网络软件传送数据,因而面向连接的客户程序不必指定本地协议端口,而只需为Socket提供远程主机信息:IP地址和协议端口。WinSock可自动保存木地IP地址和选择本地端口。
而向连接的WinSock客户机/服务器模型,服务器在没有请求到达时,它处于等待状态。一旦请求到来,服务器立即产生一个子进程,然后回到等待状态,由子进程相应请求。当下一个请求到达时,服务器再产生一个新进程(新线程吧)。其中,并发服务器成为主服务器,子进程称为从服务器,这种主从服务器的方式巧妙地解决了并发请求问题。(如果客户请求过多,是否产生很多线程呢)
