基于Windows平台的FTP应用研究与实现

时间:2022-07-29 04:09:43

基于Windows平台的FTP应用研究与实现

摘要:本文介绍了基于Windows平台的FTP应用协议的规范和实现基础,并探索阐述了使用网络编程接口规范Windows Sockets开发FTP应用的研究与实现。

关键词:TCP/IP协议 文件传输协议FTP Windows Sockets 套接口

中图分类号:TP319 文献标识码:A 文章编号:1007-9416(2013)06-0105-01

1 引言

TCP/IP协议栈应用层是超越网络通信机制限制的一层。在TCP/IP协议栈中有三大基本协议之一文件传输协议FTP使Internet上任何异构型主机或操作系统之间都能实现相互间的文件传输。它有自己一套独立的命令(或称子命令),独立于各种主机本身的操作系统,是任何用户都可以使用的网络通用命令。研究和开发在Windows下的网络编程技术具有普遍的应用价值。[1]

2 Windows Sockets和FTP应用协议

2.1 Windows Sockets

TCP/IP协议核心作用是对物理网络(物理层和数据链路层)在传输层/网络层建立统一虚拟“逻辑网络”,屏蔽所有物理网络硬件差异,以实现普遍的“连通性”。[2]TCP/IP应用中,最普遍使用的是Windows Sockets API编程接口。应用程序调用Windows Sockets的API实现相互之间的通讯。Windows Sockets又利用下层的网络通讯协议功能和操作系统调用实现实际的通讯工作。任何能够与Windows Sockets兼容实现协同工作的应用程序就被认为是具有Windows Sockets接口。

2.2 基于TCP/IP的FTP应用协议

文件传输协议(FTP)提供文件传输服务,以使在客户和服务器之间拷贝文件,并提供附加的服务以方便文件传输过程。

FTP是基于字符的客户接口,同时使用两个不同TCP连接。“分配号”RFC(评议征求)为FTP分配两个公认端口号。[3]当FTP服务器模块装入TCP/IP系统时,程序打开端口21,使服务器在此监听。FTP客户呼叫服务器时,它和端口21建立一个在整个FTP任务过程中都活跃存在的连接。通过该连接,客户被服务器认证,发控制以后所有活动的命令。当客户发命令给服务器请求文件传输时(列目录被认为是一个ASCII文件传输),使用端口号20的第二个连接被打开,当传输结束时此连接被关闭。FTP客户和服务器在控制连接上的通信是通过用户协议解释器(客户程序中)和服务器协议解释器间交换命令进行,FTP客户发给服务器的每一个命令必须有至少一个来自服务器的应答。应答由一个三个数字的编码和一个文本字符串组成。文本字符串显示给用户看,编码由客户程序解释以决定下一步动作。

2.3 套接口

套接口存在于通讯域中,是通讯的基石,一个正在被使用的套接口都有它的类型和与其相关的进程。套接口通常和同一个域中的套接换数据(数据交换也可能穿越域的界限,但这时一定要执行某种解释程序)。用户目前可以使用两种套接口,即流套接口和数据报套接口。流套接口提供了双向的,有序的,无重复并且无记录边界的数据流服务。数据报套接口支持双向的数据流,但并不保证是可靠,有序,无重复的。[4]

3 面向连接的FTP编程应用

4 结语

本文主要论述了使用Windows Sockets开发FTP应用的研究与实现。FTP是TCP/IP上一个非常典型应用。采用流套接口,实现了接收不同长度数据流。并且有较完善的错误处理机制,能给出网络错误的消息描述。随着Internet的不断发展和Windows平台的普及,基于Winsock接口这样的网络编程也会显得越发重要。

参考文献

[1]胡道元.计算机局域网[M].清华大学出版社,1990.9.

[2][美]Craig Zacker著,TCP/IP网络管理[M].中国水利水电出版社,1998.8.

[3]燕存正,陈方勇编.实用网络技术教程[M].电子工业出版社,1997.10.

[4]朱三元等编著.网络通信软件设计指南[M].清华大学出版社,1994.

上一篇:论单片机DSP在伺服驱动器中的设计与研究 下一篇:计算机智能化图像识别技术的理论性突破