Dict.CN 在线词典, 英语学习, 在线翻译

sunnywang

smile forever.

 

用java实现ftp

 FTP(File Transfer Protocol文件传输协议)是Internet上用来传送文件的协议。在Internet上通过FTP服务器可以进行文件的上传(Upload)或下载(Download)。FTP是实时联机服务,在使用它之前必须是具有该服务的一个用户(用户名和口令),工作时客户端必须先登录到作为服务器一方的计算机上,用户登录后可以进行文件搜索和文件传送等有关操作,如改变当前工作目录、列文件目录、设置传输参数及传送文件等。使用FTP可以传送所有类型的文件,如文本文件、二进制可执行文件、图象文件、声音文件和数据压缩文件等。
  

  FTP 命令
  FTP 的主要操作都是基于各种命令基础之上的。常用的命令有:
  1、设置传输模式,它包括ASCⅡ(文本) 和BINARY 二进制模式;
  2、目录操作,改变或显示远程计算机的当前目录(cd、dir/ls 命令);
  3、连接操作,open命令用于建立同远程计算机的连接;close命令用于关闭连接;
  4、发送操作,put命令用于传送文件到远程计算机;mput 命令用于传送多个文件到远程计算机;
  5、获取操作,get命令用于接收一个文件;mget命令用于接收多个文件。

  编程思路
  根据FTP的工作原理,在主函数中建立一个服务器套接字端口,等待客户端请求,一旦客户端请求被接受,服务器程序就建立一个服务器分线程,处理客户端的命令。如果客户端需要和服务器端进行文件的传输,则建立一个新的套接字连接来完成文件的操作。

  编程技巧说明
  1.主函数设计
  在主函数中,完成服务器端口的侦听和服务线程的创建。我们利用一个静态字符串变量initDir来保存服务器线程运行时所在的工作目录。服务器的初始工作目录是由程序运行时用户输入的,缺省为C盘的根目录。
  具体的代码如下:
  public class ftpServer extends Thread{
  private Socket socketClient;
  private int counter;
  private static String initDir;
  public static void main(String[] args)
  {
    if(args.length != 0) {
      initDir = args[0];
    }
    else{
       initDir = "c:";
    }
    int i = 1;
    try{
      System.out.println("ftp server started!");
      //监听21号端口
      ServerSocket s = new ServerSocket(21);
      for(;;)
      {
        //接受客户端请求
        Socket incoming = s.accept();
        //创建服务线程
        new ftpServer(incoming,i).start();
        i++;
      }
    }catch(Exception e){}
  }

posted on 2007-12-03 14:00 sunnywang 阅读(232) 评论(0)  编辑 收藏 引用 所属分类: language-java

只有注册用户登录后才能发表评论。

导航

统计

公告

silence is gold.

常用链接

留言簿(3)

随笔分类

相册

收藏夹

BI

english

friends' blog

knowledge

PM

tools

universities

搜索

最新评论