Como fazer um ping em conexões de rede nos dispositivos J2ME

Aprenda a fazer um ping também em dispostivos móveis.

Como fazer um ping em conexões de rede nos dispositivos J2ME

A ilustração abaixo dá um ping no servidor com um intervalo de 1 minuto.

import java.io.*;
import javax.microedition.midlet.*;
import javax.microedition.io.*;
import javax.microedition.lcdui.*;

public class pingMIDLET extends MIDlet {
private Display display;
private String url = "http://server";
private Form form;
private Command exit;
private Command stop;
private Timer timer;
private RunTimerTask tt;
private int count = 0;
boolean isPing = false;

public pingMIDLET() {
display = Display.getDisplay(this);
form = new Form("Ping");
exit = new Command("Exit", Command.EXIT, 1);
stop= new Command("Parar", Command.STOP, 2);
}

public void startApp() {
form.addCommand(exit);
form.addCommand(stop);
form.setCommandListener(this);

// Repetindo a cada 1 minuto
timer = new Timer();
tt = new RunTimerTask();
timer.schedule(tt,01000*60);
if(isPing) {
timer.cancel();
}
display.setCurrent(form);
}

public void pauseApp() { }
public void destroyApp(boolean unconditional) { }

public void commandAction(Command c, Displayable d) {
if (c == stop) {
timer.cancel();
else if (c == exit) {
destroyApp(false);
notifyDestroyed();
}
}

/*--------------------------------------------------
* Classe RunTimerTask – Executando a tarefa
*-------------------------------------------------*/

private class RunTimerTask extends TimerTask {
public final void run() {

HttpConnection c = null;
OutputStream os = null;
InputStream is = null;
int ch;
StringBuffer b = new StringBuffer();
try {
c = (HttpConnection)Connector.open(url);

// Configurando o request method e cabeçalhos
c.setRequestMethod(HttpConnection.POST);
c.setRequestProperty(
"If-Modified-Since","7 Sep 2005 19:43:31 GMT");

c.setRequestProperty(
"User-Agent","Profile/MIDP-1.0 Configuration/CLDC-1.0");

c.setRequestProperty("Content-Language""en-US");

// Otendo  a saída
os = c.openOutputStream();
os.write("Ping".getBytes());
os.flush();

is = c.openInputStream();
while ((ch = is.read()) != -1) {
b.append((char)ch);
}
isPing = true;
form.append("ping - Sucesso");
catch(IOException e) {
isPing = false;
form.append("Pinging.....");
finally {
is.close();
os.close();
c.close();
}
}
}
}

Ebook exclusivo
Dê um upgrade no início da sua jornada. Crie sua conta grátis e baixe o e-book

Artigos relacionados