Envio de Archivos

Iniciado por ioyola, 29 Mayo 2013, 23:36 PM

0 Miembros y 1 Visitante están viendo este tema.

ioyola

Hola tengo el siguiente codigo cliente servidor, en el codigo cliente esta todo bien y envia el archivo, mi problema es en el servidor el cual ahora tengo especificar un archivo para poder guardar el que llega del servidor, pero mi deber no debe de ser asi sino que el nombre del archivo sea igual al enviado por el cliente son su misma extension... ayudaaa...

import java.io.*;
import java.net.*;

public class Servidor {
        public static void main(String[] args) {
        ServerSocket ss = null;
        Socket sock;
        InputStream recibe;
        FileOutputStream archivo;
        BufferedReader br;
        String cadena;
                try {
                        ss = new ServerSocket(3000);
                        br = new BufferedReader(new InputStreamReader(System.in));
                        while (true){
                        sock = ss.accept ();
System.out.println("directorio de guardar : " );
                        cadena = br.readLine();                                         
                        recibe = sock.getInputStream();
                        archivo = new FileOutputStream(cadena);
                        byte[] buffer = new byte[1024];
                        int len;
                        while((len=recibe.read(buffer))>0) {
                                archivo.write(buffer,0,len);
                        }
                        }
                } catch(IOException e) {
                        System.out.print("Error"+e.toString());
                }
        }
}

RyogiShiki

Haz un protocolo de comunicación. Por ejemplo antes de enviar el archivo envía información sobre el archivo con algun tipo de delimitador por ejemplo puedes enviar una cadena como esta: "ENVIANDO:<nombre archivo>:<peso>" desde el cliente, el servidor la recibe y sabe exactamente que esperar, justo despues de recibir dicha cadena se prepara a recibir el archivo.