Ir al contenido principal

Timer en java para hacer ping

Saludos amigos en esta entrega dejo un ejemplo de utilizacion de un timer en java y como agregado lo ensallaremos haciendo un ping tambien desde java, algo que nos puede resultar muy util, para esto solo debemos crear una clase que se llame PingJava y luego pegas este codigo:

/**
 *
 * @author Jeison  Nisperuza
 */
import java.awt.*;
import java.applet.*;
import java.awt.event.*;
import java.io.IOException;
import java.net.InetAddress;
import java.net.UnknownHostException;
import javax.swing.JOptionPane;
import javax.swing.Timer;

public class PingJava extends Applet implements ActionListener {
public Timer timer;
String ip;

//funcion start timer
public void startimer () {
 timer = new Timer (1000, new ActionListener ()
{
    public void actionPerformed(ActionEvent e)
    {
 //Hacer ping a una IP:
        InetAddress in = null;

                    try {
                        //ping a una ip
                        in = InetAddress.getByName(ip); //ip
                    } catch (UnknownHostException ex) {
                        ta.append("Host de destino inaccesible"+"\n");
                    }
                    catch (NullPointerException npe) {
                        ta.append("Host de destino inaccesible"+"\n");
                    }

                    try {
                        //Definimos un tiempo en el cual ha de responder
                        if (in.isReachable(5000)) {
                            ta.append("Respuesta desde "+ip+"\n");
                        } else {
                            ta.setText("No responde: Time out"+"\n");
                        }
                    } catch (IOException ex) {
                        ta.append("Error entrada / Salida "+ex);
                    }
                    catch (NullPointerException npe) {
                        ta.append("Host de destino inaccesible"+"\n");
                    }

             //final de codigo ejecutado
     }
});
timer.start();
}//final de la funcion start timer

//funcion stop timer
public void stoptimer () {
timer.stop();
ta.append("Detenido"+"\n");
}//final de la funcion stop timer

   //variables publicas
   Label l1;
   TextArea ta;
   TextField t2;
   Button b1,b2;
   int n1,n2,res;

   public PingJava() {
      //implemento las variables
      l1 = new Label("ip");
      ta = new TextArea(20,40);
      ta.setBackground(Color.black);
      ta.setForeground(Color.white);
      t2 = new TextField(10);
      b1 = new Button("Iniciar Ping");
      b2 = new Button("Detener Ping");
      //las agrego
      add(l1);
      add(t2);      
      add(ta);
      add(b1);
      add(b2);
      //escucho los botones
      b1. addActionListener(this);
      b2. addActionListener(this);
   }

   public void actionPerformed(ActionEvent ae) {
       //boton iniciar
      if (ae.getSource() == b1) {
        String DigIp=t2.getText();
        if (DigIp.equals("")){
            JOptionPane.showMessageDialog(null, "Digite la direccion ip");
            t2.requestFocus();
        }else{
            ip=DigIp;
            startimer();
         }
       }

    //boton detener
      if (ae.getSource() == b2) {
      stoptimer();
         }
   }
   //presentacion
   public void paint(Graphics g) {
   g.drawString("Elaborado Por: JEISON NISPERUZA ", 100, 450);
  }
}

Deja tu comentario o agradecimiento...

Comentarios

  1. Muy bueno, aunque solo utilicé InetAddress fue de gran ayuda, gracias...

    ResponderEliminar
  2. Muy bueno me ayudo bastante

    ResponderEliminar
  3. como puedo implementar este mismo codigo pero en un JFrame

    ResponderEliminar
  4. puedes descargar un ejemplo utilizando un JFrame con sus fuentes

    https://skydrive.live.com/?cid=6592461B78AD16D8&id=6592461B78AD16D8%21120

    ResponderEliminar
  5. Muchas Gracias, voy a analizar el código

    ResponderEliminar
  6. Me gusta mucho tus ejercicios son muy entendibles..Gracias

    ResponderEliminar
  7. Muchas gracias, me gusta compartir conocimientos y a la vez aprender con cada interrogante que se plantea en este blog.

    Saludos,

    ResponderEliminar
  8. amigo como puedo hacer que el programa funcione haciendo que al principio se abra una ventana emergente diciendome qeu introdusca una ip a la cual le quiero hacer el ping

    ResponderEliminar

Publicar un comentario