高手赐招--用VB编写PASV模式的FTP程序(UP有分,解决问题的给我有的分。谢谢!)
请高手赐招,在VB中怎样才能编写PASV模式的FTP程序?我知道的几种方法都是Port模式,真急人啊!
简单介绍一下port和pasv模式:
所谓port模式也就是主动模式。在FTP协议刚刚建立的时候,只定义了普通的连接模式,也就是port模式。
Port模式的连接过程是:在开始一个FTP的连接时,客户端程序首先会为自己随机分配一个TCP端口,它使用这个个端口向服务器的FTP端口(默认为21)发出连接请求,服务器接受请求之后会建立一条控制链路,然后客户程序发出port命令(通常格式为PORT A, A, A, A, I,I,其中A,A,A,A为客户端IP地址,I,I为随机的一个数据连接端口号)告诉服务器它的数据通道的端口打开了。当需要传送数据时,服务器便从随机选择的一个端口向客户端的20端口发送连接请求,请求被接受之后便开始传输数据,数据链路通道也就打开了。
所谓pasv模式也就是被动模式。随着网络的不断发展,出现了防火墙。老的FTP协议在遇到防火墙的时候就束手无策了,这是因为20端口往往是防火墙的重点封堵对象,因此数据也就不能发送出去了,于是pasv模式就诞生了。
Pasv模式的连接过程是:在开始一个FTP的连接时,客户端程序首先为自己随机分配一个TCP端口,它使用这个端口向服务器的FTP端口(默认为21)发出连接请求,服务器接受请求之后会建立一条控制链路,然后客户端程序发出PASV命令,代替原来PORT命令告诉服务器它的数据连接端口,于是服务器便为自己随机分配一个数据通道端口,并将这个端口号告诉客户端程序。当需要传送数据时,客户端程序会向服务器的数据通道端口发送连接请求,请求被接受之后便开始传输数据,数据链路通道也就打开了。

