Foro de elhacker.net

Programación => Java => Mensaje iniciado por: ioyola en 29 Mayo 2013, 23:36 pm



Título: Envio de Archivos
Publicado por: ioyola en 29 Mayo 2013, 23:36 pm
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...

Código:
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());
                }
        }
}


Título: Re: Envio de Archivos
Publicado por: RyogiShiki en 30 Mayo 2013, 21:30 pm
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.