Ver Mensaje Individual
  #1 (permalink)  
Antiguo 02/01/2011, 12:40
Avatar de lair
lair
 
Fecha de Ingreso: enero-2009
Ubicación: header('Location: Morelia");
Mensajes: 1.052
Antigüedad: 15 años, 3 meses
Puntos: 46
ftp via sockets

Hola a todos.

Tengo un problema con una aplicacion que estoy haciendo, la cuestion es la siguiente, tengo un servidor ftp, al cual me quiero conectar desde java, esto ya lo logro, tambien puedo loguearme pero el problema viene cuando intento hacer movimiento, es decir, no puedo usar todos los comandos; cuando doy help no me aparese lo mismo en la aplicacion que desde consola.

consola:
ftp> help
Código Apache:
Ver original
  1. Commands may be abbreviated.  Commands are:
  2.  
  3. !       debug       mdir        sendport    site
  4. $       dir     mget        put     size
  5. account     disconnect  mkdir       pwd     status
  6. append      exit        mls     quit        struct
  7. ascii       form        mode        quote       system
  8. bell        get     modtime     recv        sunique
  9. binary      glob        mput        reget       tenex
  10. bye     hash        newer       rstatus     tick
  11. case        help        nmap        rhelp       trace
  12. cd      idle        nlist       rename      type
  13. cdup        image       ntrans      reset       user
  14. chmod       lcd     open        restart     umask
  15. close       ls      prompt      rmdir       verbose
  16. cr      macdef      passive     runique     ?
  17. delete      mdelete     proxy       send

java:
Código Apache:
Ver original
  1. 214-The following commands are recognized (* =>'s unimplemented):
  2. CWD     XCWD    CDUP    XCUP    SMNT*   QUIT    PORT    PASV    
  3. EPRT    EPSV    ALLO*   RNFR    RNTO    DELE    MDTM    RMD    
  4. XRMD    MKD     XMKD    PWD     XPWD    SIZE    SYST    HELP    
  5. NOOP    FEAT    OPTS    AUTH*   CCC*    CONF*   ENC*    MIC*    
  6. PBSZ*   PROT*   TYPE    STRU    MODE    RETR    STOR    STOU    
  7. APPE    REST    ABOR    USER    PASS    ACCT*   REIN*   LIST    
  8. NLST    STAT    SITE    MLSD    MLST    
  9. 214 Direct comments to root@localhost

aqui coloco algo de mi codigo:
Código java:
Ver original
  1. Connection con = null;
  2.  
  3.                 Main.Socket =  (SocketConnection) Connector.open("socket://"+host+":"+port);
  4.  
  5.                 response=Main.Socket.openInputStream();
  6.                
  7.                 //Main.sender es el objeto que uso para mandarle los comando al servidor
  8.                 Main.sender = new OutputStreamWriter(Main.Socket.openOutputStream());
  9.  
  10.                 int Resp=0;
  11.                 char CHAR;
  12.  
  13.                 while( ( Resp=response.read() ) != -1 ){
  14.                     CHAR=(char)Resp;
  15.                     System.out.print(CHAR);
  16.  
  17.                     Main.echo.setText(Main.echo.getText()+" "+CHAR);
  18.                 }

y asi es como mando los comandos:
Código java:
Ver original
  1. String user=Main.User.getString();
  2.  
  3.         Main.sender.write(user+"\n");
  4.         System.out.println("ftp> "+user);
  5.         Main.echo.setLabel("ftp> "+user);
  6.         Main.echo.setText("\n");
  7.         Main.User.setString("");

todas las excepciones estan debidamente capturadas.


NOTA: no puedo usar el paquete java.net ya que esto lo quiero para una aplicacion para un celular y la version ME no cuenta con esas clases.
Edito:
OTRA NOTA: tambien lo codifique en JSE pero obtengo la misma salida.

De antemano muchas gracias y feliz año que todos sus propositos los cumplan