论文部分内容阅读
“FTP 服务器技术研究及实现”是宜宾学院自然科学研究资助课题。虽然FTP服务器的应用已经很广,但在国内还缺乏高性能的产品,并且由于商业原因对国内外的商业产品的关键技术又知之甚少。同时,我们国内对服务器的研究也是相对较少的,这从学术刊物上发表的相关文章就可以看出,所以本课题的研究是有一定意义的。作该课题时目标就是使所开发的软件具有商业FTP 服务器的大部分功能和特征。当前Internet 在迅猛发展,如果说Internet 是信息高速公路的话,FTP 就是其上面的洲际车。它使用TCP/IP 体系结构中应用层上的FTP 协议(File Transfer Protocol),在不同的计算机系统之间互相传输文件的过程,因此人们又把文件传输服务称为FTP 服务。本文对FTP 服务器的实现方法及技术,在理论和实践相结合的基础上进行了较为深入的研究和探讨,首先讨论了FTP 服务器的基本理论、工作原理和WINDOWS SOCKETS。然后根据FTP 服务器的工作特点,系统地对三种基本的网络服务器内部架构进行了探讨和比较,得出结论:多线程机制更加适合于实现高性能、高稳定的FTP 服务器。接着对FTP 服务器的网络I/O 的并发实现进行了分析。最后对FTP服务器的安全进行了探讨,提出了如何建立安全可靠的FTP 服务体系结构。通过对FTP 服务器的内部机制及其实现技术研究后,在此基础上设计了一个基于Socket 的多线程FTP 服务器,该服务器采用消息驱动数据的机制来实现处理过程的推进。FTP 服务器内部在非阻塞Socket 基础之上实现阻塞操作,用以完成FTP命令字符的传输、解析和执行。因FTP 服务器涉及到大量的用户账号、IP 地址的限制等数据,对这些数据采用序列化处理,这样避免了直接使用Cfile 对象,从而加快用户账号及权限、网络安全设置的查找过程。而FTP 另一大主要功能就是完成文件的传输,在程序实现中采用一个非常关键的函数AsyncSelect()函数,用来指定新创建的socket 将监测的网络事件,实现数据的异步I/O。最后是对FTP 服务器的功能和性能进行测试,测试结果表明服务器实现了设计目标并具有较高的性能。