Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Temas - jossydeleon

#1
Hola gente del foro, de nuevo molestando por aqui: tengo una inquietud. Realice una pequeña aplicacion en java que transfiere archivos de una maquina a otra de mi red. Pero cuando abro el cliente tengo que escribir la direccion IP de la maquina en la cual se esta ejecutando el servidor.

Hay alguna forma mostrar las maquinas que estan conectadas a la red y asi seleccionar la que yo quiera enviarle el archivo?

Muchas Gracias!  :)
#2
Hola gente del foro soy nuevo por aki y quiero pedirles ayuda en un problemita que tengo.

Estoy realizando una aplicacion en Java que me permita el envio de archivos usando Sockets con una aplicacion Cliente y una Servidor. El cliente se conecta al servidor y este le envia un archivo a Servidor. Pero quisiera poner una Barra de progreso que me muestre cuanto falta para terminar el proceso de transferencia. He buscado pero no doy con la solucion. He aki mi codigo:

Código (java) [Seleccionar]

//Cliente
import java.net.*;
import java.io.*;
import javax.swing.*;

class Cliente
{
 public static void main (String[] args)
 {

     int in;
     byte[] byteArray;
     File archivo = null;
     String direccionArchivo = null;
     String IP = null;

     try
     {
         IP = JOptionPane.showInputDialog(null,"Ingrese la direccion IP a la cual desea conectarse","Cliente",JOptionPane.CANCEL_OPTION);
         Socket via = new Socket(IP, 1234);
         if(via.isConnected())
         {
           JOptionPane.showMessageDialog(null, "Conectado al servidor: " + IP);

           JFileChooser selector = new JFileChooser();
           selector.setDialogTitle("Selecciona el archivo a enviar");
           int resultado = selector.showOpenDialog(null);
           if (resultado == JFileChooser.APPROVE_OPTION)
           {
               archivo = selector.getSelectedFile();
               direccionArchivo = archivo.getPath().toString();
           }

           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());

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

           bis.close();
           bos.close();

           JOptionPane.showMessageDialog(null, "El archivo: " + archivo.getName().toString() +
                                                " se envio correctamente!");
       }

     }catch (Exception e) {JOptionPane.showMessageDialog(null,e,"Error",JOptionPane.ERROR_MESSAGE);}
  }
}  



Código (java) [Seleccionar]

//Servidor

import java.net.*;
import java.io.*;
import javax.swing.*;

class Servidor
{
    public static void main (String[] args)
    {
        ServerSocket server;
        Socket connection = null;

        DataOutputStream output;
        BufferedInputStream bis;
        BufferedOutputStream bos;

        byte[] receivedData;
        int in;
        String file;

        try{
            server = new ServerSocket(1234);
            while ( true ) {
                connection = server.accept();

                receivedData = new byte[1024];
                bis = new BufferedInputStream(connection.getInputStream());
                DataInputStream dis = new DataInputStream(connection.getInputStream());

                //recibimos el nombre del fichero
                file = dis.readUTF();
                file = file.substring(file.indexOf('/')+1,file.length());

                //aqui se escribe el archivo en la ubicacion donde este el Servidor.jar
                bos = new BufferedOutputStream(new FileOutputStream("/" + file));
                while ((in = bis.read(receivedData)) != -1){
                    bos.write(receivedData,0,in);
                }
                bos.close();
                dis.close();

                JOptionPane.showMessageDialog(null, "Archivo (" + file.toString() + ") Recibido satisfactoriamente");
                System.exit(0);
            }
        }catch (Exception e ) {
            JOptionPane.showMessageDialog(null,e, "Errror",JOptionPane.ERROR_MESSAGE);
        }
    }
}



Buscando en la Web encontre un codigo para desarrollar un JProgressBar


public void iterate() {
 while (num < 2000) {
 current.setValue(num);
 try {
 Thread.sleep(1000);
 } catch (InterruptedException e) { }
 num += 95;
 }
 }



Si pueden ayudarme a fusionar El cliente y Servidor con la JProgress Bar se lo agradeceria mucho.

Muchas Gracias