Java - Transferencia datos con Sockets

   
Vista:

Transferencia datos con Sockets

Publicado por homeofhouse (1 intervención) el 21/12/2011 13:03:37
Hola, estoy intentando recibir una imagen através de la clase Socket.

Primero establezco conexión con el host
1
Socket s = new Socket (host,80);


i preparo
1
2
PrintWrtier salida = new PrintWriter(s.getOutputStream());
Scanner entrada = new Scanner(s.getInputStream());


Luego envio petición
1
salida.print("GET http://www.ejemplo.com/red/imagen.gif HTTP/1.0")


i ahora recibo los datos de la siguente forma i los envio a un archivo creado en mi disco:
1
2
3
4
5
6
7
8
9
10
11
12
PrintWriter foto = new PrintWriter(new File("foto.gif");
        boolean escribir = false;
 
        while(entrada.hasNext()){
            String aux = entrada.nextLine();
            if(aux.equals("")) escribir=true; //Cuando llega a la linia en blanco termina cabecera
            if(escribir){x
                if(!aux.equals("")){
                    foto.print(aux);
                }
            }
        }


El problema es que al bajar, la imagen no se puede abrir, està dañada.
Por que serà??


gracias
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

Transferencia datos con Sockets

Publicado por Daniel (4 intervenciones) el 28/03/2012 14:08:40
Supongo que debes emplear POST en vez de GET. Este último se emplea para pequeña información. También debes indicar el tipo de la información que estás enviando.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Transferencia datos con Sockets

Publicado por Daniel (4 intervenciones) el 28/03/2012 14:10:34
Perdón, creo que me hice un lío... No sé qué método utilizas, si POST o GET.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Transferencia datos con Sockets

Publicado por Walter (14 intervenciones) el 07/07/2014 07:29:02
El problema es porque tenes que definir que cantidad de bytes vas a enviar. Si envias menos la foto no se puede leer porque no se completo el envio.

Saludos Walter
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar