|
|
|
![]() |
|
Strumenti |
![]() |
#1 |
Senior Member
Iscritto dal: Jan 2004
Città: ROMA
Messaggi: 2055
|
[JAVA] Ftp Client STOR
Sto tentando di realizzare il comando stor del protocollo ftp.
Intanto non so se faccio bene ad aprire un ServerSocket nel client per il trasferimento, visto che sono io ad inviare. Ho fatto così per realizzare un metodo simile al LIST e al RETR perfettamente funzionanti. in pratica il file mi viene trasferito tutto, ma poi alla fine risulta corrotto. Sembra come se il server voglia un segnale che il file è finito e deve "chiuderlo" per renderlo utilizzabile. Inoltre la cosa strana è che il trasferimento avviene a non più di 30 KByte/sec, a prescindere dal fatto che la velocità è in continua diminuzione durante il trasferimento. Sono su una lan a 100 mbit. ecco il mio metodo put: Codice:
public static void put(String pathName) throws IOException{ File f = new File(pathName); String nomeFile = f.getName(); forServer.println("STOR "+ nomeFile); System.out.println("Command> STOR"); System.out.println(inFromServer.readLine()); ServerSocket server = new ServerSocket(21); Socket connectionSocket = server.accept(); BufferedOutputStream fileToServer = new BufferedOutputStream (connectionSocket.getOutputStream()); FileInputStream fromSourceFile = new FileInputStream(pathName); long dim = f.length(); for(long i=0; i<dim; i++) fileToServer.write(fromSourceFile.read()); /*int line = fromSourceFile.read(); while(line != -1){ fileToServer.writeByte(line); line = fromSourceFile.read(); }*/ System.out.println(inFromServer.readLine()); fromSourceFile.close(); fileToServer.close(); server.close(); |
![]() |
![]() |
![]() |
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 19:23.