程序是c/s方式,在客户端以ftp方式上传文件到服务器上,请问用java怎么实现?

解决方案 »

  1.   

    1、登陆后客户端发送"pasv"命令,接收一个代号227的反馈,反馈中包括ip和一个端口信息,格式是xxx.xxx.xxx.xxx.xxx.xxx,前4个是ip,第5个*256加上第6个是端口。和此ip+端口建立连接,记为连接B
    2、客户端发送"stor 目录/文件名"命令,如果接收一个代号150的反馈,就可以在连接B中向服务器发送内容了。发送完成后关掉连接B,在命令连接(就是登陆、发送命令、接收反馈的连接)接收一个代号为226的反馈,说明传输完成。如果需要传输二进制文件,需要发送"type I"命令告诉服务器。默认是"type A",acsii码用telnet工具模拟此过程,在cmd里输入telnet 127.0.0.1 21,ftp服务器用Serv-U
    收到 220 Serv-U FTP Server v6.1 for WinSock ready...
    发送 user 1 //用户名
    收到 331 User name okay, need password.
    发送 pass 1 //密码
    收到 230 User logged in, proceed.
    发送 pasv
    收到 227 Entering Passive Mode (127,0,0,1,15,224)
    新的连接是127.0.0.1:15*256+224,及127.0.0.1:4064。另起一个cmd,telnet 127.0.0.1 4064
    继续在第一个telnet连接中发送
    发送 stor 111.txt
    收到 150 Opening ASCII mode data connection for 111.txt.
    在第二个telnet连接中发送随便输入几个字符,然后关闭连接,第一个telnet连接就会
    收到 226 Transfer complete.到ftp用户的根目录,就会有一个新文件111.txt。
      

  2.   

    如何用java代码在客户端实现呢,谢谢了!!
      

  3.   

    http://www.kaifz.com/java-ftp-t10957.htm
      

  4.   

    我想请问一下,通过FtpClient,怎么在服务器上创建目录?
    谢谢