elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.


 


Tema destacado:


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  probleme de recivir datos completos con servidor socket
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: probleme de recivir datos completos con servidor socket  (Leído 663 veces)
momo1234

Desconectado Desconectado

Mensajes: 5


Ver Perfil
probleme de recivir datos completos con servidor socket
« en: 14 Mayo 2012, 22:36 »

hola todos tengo un problema cuando envio un fichero de 76k recivo solo 70k aqui esta mi codigo muchas gracias .

Servidor
Código:
public void run()
    {
        try
        {
            InputStream in = socket.getInputStream();
            DataInputStream dis = new DataInputStream(socket.getInputStream());
            String file = dis.readUTF();
            String file1 = dis.readUTF();
            String file2 = dis.readUTF();
            int i = dis.readInt();
            creerdossier(file,file1,file2);
            if(i == 1)
            {
         
            }
            if(file != null)
            {
                BufferedOutputStream bos = new BufferedOutputStream(new FileOutputStream("C:\\dossier\\"+file1+"\\"+file2+"\\"+ file));
                byte buf[] = new byte[1024];
                int len;
                while((len = in.read(buf)) != -1 )
                {
                    bos.write(buf, 0, len);
                }
            }
        }
        catch(IOException e)

Cliente

Código:
      BufferedInputStream bis = new BufferedInputStream(new FileInputStream(direccionArchivo));
            BufferedOutputStream bos = new BufferedOutputStream(via.getOutputStream());

            //Enviamos el nombre del archivo
            DataOutputStream dos = new DataOutputStream(via.getOutputStream());
            dos.writeUTF(archivo.getName());
            dos.writeUTF(s);
            dos.writeUTF(s1);
             dos.writeInt(1);
      //  dos.writeInt(2);
           

            byteArray = new byte[1024];
            while ((in = bis.read(byteArray)) != -1)
            {
                bos.write(byteArray,0,in);
            }
via.close();       
bis.close();
bos.close();

gracias a todos.


En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines