Se você quiser uma ferramenta, existem vários por aí, tem um tal de Big Brother que é muito bom, inclusive…
Se não, tente pingar o IP, via Runtime.exec("ping "+ipProcurado);. Reza a lenda que não dá rpa fazer headers ICMP com Java, mas se você puder abrir uma portinha com no alvo, dá pra checar se estar porta está aberta ainda.
Para e-mail, procure sobre JavaMail.
[]s
Luca
Olá
Se você precisa saber se um IP está ativo só pode ser porque você precisa usar algum serviço em alguma porta nesta máquina. Não imagino nenhum outro motivo honesto para isto e até gostaria que me explicasse caso haja outro motivo que não consiga me lembrar.
Então tente abrir um socket com este IP e esta porta.
[]s
Luca
pcalcado
Que tal, Luca: verificar se sua própria conexão está ativa
[]s
Luca
Olá
A minha conexão? E porque enviaria e-mail para mim mesmo?
[]s
Luca
pcalcado
Caso do meu trabalho:
O ISP promete 24/7h (não é isso, exemplo) de conexão com a Internet. O carinha de infra precisa saber SE e QUANDO a conexão caiu, ele pediu apra que eu fizesse algo assim. Acabei achando o tal Big Brother, que é bom, mas é muita sobrecarga só pra ficar pingando um ipzinho. Solução? Script em Perl para pingar um host (acho que era o do O Globo) e quando não conseguir, usar o SMTP interno para avisar o administrador.
[]s
Luca
Olá
OK, vc venceu. Acho que estou meio pregado porque a corrida me cansou muito. Dois amigos que correm mais rápido do que eu exauriram todas as minhas energias.
[]s
Luca
T
trevieri
Gente a idéia eh simples, não se trata de saber se “eu” estou conectado, mas sim se antenas de Rádio espalhadas pela cidade, ou no campo, sendo que estes aparelhos possuem IP interno; estão em funcionamento ou não, uma vez que não se encontrem em funcionamento, e tendo automatizado a tarefa de verificação, este software avisaria que uma dessas antenas estaria tvz sem energia elétrica, ou qqer outra coisa, assim o pessoal da retaguarda(plantão) pode correr e arrumar o problema. E por aí vai, também imagino que vai passar muita coisa na cabeça de vocês agora. hehe
Estamos precisando disso, e que possa rodar em Background em Linux(Free BSD), por isso enviei a dúvida ao fórum, a mesma idéia pode ser aplicada em satélites, sistemas móveis, e por aí vai. Se alguém tiver a solução, agradeço.
[]´s a todos
Luca
Olá
“trevieri”:
Se alguém tiver a solução, agradeço.
As antenas tem ICMP habilitado? Caso afirmativo, na minha opinião, o Phillip já deu uma solução simples e funcional logo na primeira resposta dele. Se você quiser sofisticar faça o ping em C e chame por JNI.
[]s
Luca
louds
Não use java pra isso, tanto trabalho…
Um scriptzinho bash da mais que conta do recado e vai ser bem mais simples.
algo como (veja que não sei programar em bash direito)
Coloca isso no cron e pronto. Em java vai ter pelo menos umas 200 linhas o resultado, se usar JNI, nem me fale.
gfcittolin
se você puder usar JDK 5.0, há um método chamado isReachable. Estava procurando sobre ping e achei este link. olhe o que o thingol escreveu… se realmente insistir em usar java, é uma boa ção usar este método…
[]'s
Eh... acho que já resolveram este problema... o último post foi de 2004... nem percebi... hahaha.... teh +