Chinaunix首页 | 论坛 | 博客
  • 博客访问: 14480978
  • 博文数量: 5645
  • 博客积分: 9880
  • 博客等级: 中将
  • 技术积分: 68081
  • 用 户 组: 普通用户
  • 注册时间: 2008-04-28 13:35
文章分类

全部博文(5645)

文章存档

2008年(5645)

我的朋友

分类:

2008-04-28 21:41:18

下载本文示例代码
  一、概述  大家知道,文件传输系统是由服务器端服务程序和客户端应用程序两部分组成。一个FTP服务器进程可同时处理多个客户进程的请求服务。FTP服务器进程由两大部分组成:一个主进程,负责接受新的请求;另外有若干个从进程,负责处理单一请求。象我们在windows 2000/2003 Server 中IIS所提供的FTP服务器程序就是服务器端服务程序的典型代表。我们这里所说设计的一个实现上传和下载文件功能程序主要是指ftp客户端应用程序。  FTP客户端设计的原理,FTP使用两条TCP连接来完成文件传输:控制连接与数据连接。控制连接用于传输控制,数据连接用于数据输送。在服务器启动后,服务器就会在端口21等待客户的连接请求,有用户需要传输文件时,客户与服务器的端口21建立一个控制连接,用来传送客户的命令和服务器的应答,该连接一直保持到客户与服务器通信结束为止。当客户发出数据传输命令时,服务器会主动与客户建立数据连接,并与其进行数据交换。  客户端用户并不直接处理控制连接上的FTP命令和FTP响应,而是由两个协议解释器进行处理。用户接口为客户端用户提供一定形式的输入界面,接收用户的命令,将其转换成标准的FTP命令,最终将控制连接上的FTP响应转换成用户可理解的方式。在客户与服务器的整个连接期间,控制连接必须保持,而数据连接却可以根据请求动态地建立和关闭。在最常用的流模式中,文件结束是用数据连接的关闭来表示的,换句话说,每传输一个文件或文件列表,系统就会再建立一个新的数据连接。   二、Jbuilder9中FTP库简介  在Jbuilder9使用的java语言中,提供了一类网络类库sun.net.ftp.FtpClient.,该类库主要提供了用于建立FTP连接的类。利用这些类的方法,编程人员可以远程登录到FTP服务器,列举该服务器上的目录,设置传输协议,以及传送文件。FtpClient类涵盖了几乎所有FTP的功能,FtpClient的实例变量保存了有关建立"代理"的各种信息。下面给出了这些实例变量。  public static boolean useFtpProxy  这个变量用于表明FTP传输过程中是否使用了一个代理,因此,它实际上是一个标记,此标记若为TRUE,表明使用了一个代理主机。  public static String ftpProxyHost  此变量只有在变量useFtpProxy为TRUE时才有效,用于保存代理主机名。  public static int ftpProxyPort  此变量只有在变量useFtpProxy为TRUE时才有效,用于保存代理主机的端口地址。  FtpClient有三种不同形式的构造函数,如下所示:  1、public FtpClient(String hostname,int port)   此构造函数利用给出的主机名和端口号建立一条FTP连接。  2、public FtpClient(String hostname)  此构造函数利用给出的主机名建立一条FTP连接,使用默认端口号。  3、FtpClient()  此构造函数将创建一FtpClient类,但不建立FTP连接。这时,FTP连接可以用openServer方法建立。  一旦建立了类FtpClient,就可以用这个类的方法来打开与FTP服务器的连接。类ftpClient提供了如下两个可用于打开与FTP服务器之间的连接的方法。  public void openServer(String hostname)  这个方法用于建立一条与指定主机上的FTP服务器的连接,使用默认端口号。  public void openServer(String host,int port)  这个方法用于建立一条与指定主机、指定端口上的FTP服务器的连接。  打开连接之后,接下来的工作是注册到FTP服务器。这时需要利用下面的方法。  public void login(String username,String password)  此方法利用参数username和password登录到FTP服务器。使用过Intemet的用户应该知道,匿名FTP服务器的登录用户名为anonymous,密码一般用自己的电子邮件地址。  下面是FtpClient类所提供的一些控制命令。  public void cd(String remoteDirectory)  该命令用于把远程系统上的目录切换到参数remoteDirectory所指定的目录。  public void cdUp():该命令用于把远程系统上的目录切换到上一级目录。  public String pwd():该命令可显示远程系统上的目录状态。  public void binary():该命令可把传输格式设置为二进制格式。  public void ascii():该命令可把传输协议设置为ASCII码格式。  public void rename(String string,String string1)  该命令可对远程系统上的目录或者文件进行重命名操作。  除了上述方法外,类FtpClient还提供了可用于传递并检索目录清单和文件的若干方法。这些方法返回的是可供读或写的输入、输出流。下面是其中一些主要的方法。  public TelnetInputStream list()  返回与远程机器上当前目录相对应的输入流。  public TelnetInputStream get(String filename)  获取远程机器上的文件filename,借助TelnetInputStream把该文件传送到本地。  public TelnetOutputStream put(String filename)  以写方式打开一输出流,通过这一输出流把文件filename传送到远程计算机。zmbbs=1;共5页。 1 2 3 4 5 :   一、概述  大家知道,文件传输系统是由服务器端服务程序和客户端应用程序两部分组成。一个FTP服务器进程可同时处理多个客户进程的请求服务。FTP服务器进程由两大部分组成:一个主进程,负责接受新的请求;另外有若干个从进程,负责处理单一请求。象我们在windows 2000/2003 Server 中IIS所提供的FTP服务器程序就是服务器端服务程序的典型代表。我们这里所说设计的一个实现上传和下载文件功能程序主要是指ftp客户端应用程序。  FTP客户端设计的原理,FTP使用两条TCP连接来完成文件传输:控制连接与数据连接。控制连接用于传输控制,数据连接用于数据输送。在服务器启动后,服务器就会在端口21等待客户的连接请求,有用户需要传输文件时,客户与服务器的端口21建立一个控制连接,用来传送客户的命令和服务器的应答,该连接一直保持到客户与服务器通信结束为止。当客户发出数据传输命令时,服务器会主动与客户建立数据连接,并与其进行数据交换。  客户端用户并不直接处理控制连接上的FTP命令和FTP响应,而是由两个协议解释器进行处理。用户接口为客户端用户提供一定形式的输入界面,接收用户的命令,将其转换成标准的FTP命令,最终将控制连接上的FTP响应转换成用户可理解的方式。在客户与服务器的整个连接期间,控制连接必须保持,而数据连接却可以根据请求动态地建立和关闭。在最常用的流模式中,文件结束是用数据连接的关闭来表示的,换句话说,每传输一个文件或文件列表,系统就会再建立一个新的数据连接。   二、Jbuilder9中FTP库简介  在Jbuilder9使用的java语言中,提供了一类网络类库sun.net.ftp.FtpClient.,该类库主要提供了用于建立FTP连接的类。利用这些类的方法,编程人员可以远程登录到FTP服务器,列举该服务器上的目录,设置传输协议,以及传送文件。FtpClient类涵盖了几乎所有FTP的功能,FtpClient的实例变量保存了有关建立"代理"的各种信息。下面给出了这些实例变量。  public static boolean useFtpProxy  这个变量用于表明FTP传输过程中是否使用了一个代理,因此,它实际上是一个标记,此标记若为TRUE,表明使用了一个代理主机。  public static String ftpProxyHost  此变量只有在变量useFtpProxy为TRUE时才有效,用于保存代理主机名。  public static int ftpProxyPort  此变量只有在变量useFtpProxy为TRUE时才有效,用于保存代理主机的端口地址。  FtpClient有三种不同形式的构造函数,如下所示:  1、public FtpClient(String hostname,int port)   此构造函数利用给出的主机名和端口号建立一条FTP连接。  2、public FtpClient(String hostname)  此构造函数利用给出的主机名建立一条FTP连接,使用默认端口号。  3、FtpClient()  此构造函数将创建一FtpClient类,但不建立FTP连接。这时,FTP连接可以用openServer方法建立。  一旦建立了类FtpClient,就可以用这个类的方法来打开与FTP服务器的连接。类ftpClient提供了如下两个可用于打开与FTP服务器之间的连接的方法。  public void openServer(String hostname)  这个方法用于建立一条与指定主机上的FTP服务器的连接,使用默认端口号。  public void openServer(String host,int port)  这个方法用于建立一条与指定主机、指定端口上的FTP服务器的连接。  打开连接之后,接下来的工作是注册到FTP服务器。这时需要利用下面的方法。  public void login(String username,String password)  此方法利用参数username和password登录到FTP服务器。使用过Intemet的用户应该知道,匿名FTP服务器的登录用户名为anonymous,密码一般用自己的电子邮件地址。  下面是FtpClient类所提供的一些控制命令。  public void cd(String remoteDirectory)  该命令用于把远程系统上的目录切换到参数remoteDirectory所指定的目录。  public void cdUp():该命令用于把远程系统上的目录切换到上一级目录。  public String pwd():该命令可显示远程系统上的目录状态。  public void binary():该命令可把传输格式设置为二进制格式。  public void ascii():该命令可把传输协议设置为ASCII码格式。  public void rename(String string,String string1)  该命令可对远程系统上的目录或者文件进行重命名操作。  除了上述方法外,类FtpClient还提供了可用于传递并检索目录清单和文件的若干方法。这些方法返回的是可供读或写的输入、输出流。下面是其中一些主要的方法。  public TelnetInputStream list()  返回与远程机器上当前目录相对应的输入流。  public TelnetInputStream get(String filename)  获取远程机器上的文件filename,借助TelnetInputStream把该文件传送到本地。  public TelnetOutputStream put(String filename)  以写方式打开一输出流,通过这一输出流把文件filename传送到远程计算机。zmbbs=1;共5页。 1 2 3 4 5 : 下载本文示例代码


Jbuilder 9.0 打造“完美”FTPJbuilder 9.0 打造“完美”FTPJbuilder 9.0 打造“完美”FTPJbuilder 9.0 打造“完美”FTPJbuilder 9.0 打造“完美”FTPJbuilder 9.0 打造“完美”FTPJbuilder 9.0 打造“完美”FTPJbuilder 9.0 打造“完美”FTPJbuilder 9.0 打造“完美”FTPJbuilder 9.0 打造“完美”FTPJbuilder 9.0 打造“完美”FTPJbuilder 9.0 打造“完美”FTPJbuilder 9.0 打造“完美”FTPJbuilder 9.0 打造“完美”FTPJbuilder 9.0 打造“完美”FTP
阅读(140) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~