Daê galera, Tô com um problema que tá me incomodando…
preciso fazer uma aplicação que monitore vários pings de servidores e mandar um email caso dê problema
o problema é que estou tendo problemas em retornar os resultados, tipo estatística do ping… tempo…etc…
eis o meu programa
[code] public static void main(String[] args) throws IOException {
Process proc = Runtime.getRuntime().exec(new String[]{“ping”,“10.14.0.1”});
//pega o retorno do comando para ler o resultado
InputStream in = proc.getInputStream();
byte[] buffer = new byte[1024];
int len;
String s="";
while((len = in.read(buffer)) >= 0) {
s+=""+len+"\n";
System.out.println(s);
}
in.close();
}[/code]
Sei que tem algum conteúdo sobre isso mas não consegui adequar à minha necessidade…
Obrigado pela ajuda desde já!!!
Deixe me entender, aquelas linhas fazem o trabalho do ping?
[code]// Aqui seria o ip que eu quero lançar?
InetAddress address = Inet4Address.getByAddress(new byte[] {(byte)200,(byte)200,(byte)200,(byte)200}); //Recupera o endereço
boolean pingBemSucedido = address.isReachable(1000); //O parâmetro é o timeout.[/code]
assim eu nao necessito usar aqueles comandos que eu estava fazendo?
obrigado pela Ajuda
[quote=magemelli]Deixe me entender, aquelas linhas fazem o trabalho do ping?
[code]// Aqui seria o ip que eu quero lançar? Isso!
InetAddress address = Inet4Address.getByAddress(new byte[] {(byte)200,(byte)200,(byte)200,(byte)200}); //Recupera o endereço
boolean pingBemSucedido = address.isReachable(1000); //O parâmetro é o timeout.[/code]
assim eu nao necessito usar aqueles comandos que eu estava fazendo?
obrigado pela Ajuda[/quote]
Mais ou menos… ele faz o ping e te retorna se o ping foi bem sucedido. Mas não retorna as estatísticas, por exemplo.
o metodo isReachable aparentemente ta bgado… no passado pesquisando acho que encontrei bug relatado referente a ele, quando testei só funcionava com localhost, enquanto que com outros endereços eu só conseguia piingar pelo dos…
uma alternativa seria pegar via runtime o retorno e analisar a string do retorno para obter as estatisticas… para o seu software continuar multiplataforma, você poderia pegar o system.getProperty, acho que os.name o nome da propriedade, ai se for windows poe o comando de um jeito, se não você faz de outro, etc… na hora de obter a string…etc…
GALERA, VALEU MESMO, Todas as Dicas só acrescentaram no meu conhecimento e no meu software,
vou testar dessas maneiras e ver qual se adequa melhor a minha necessidade…
VALEW, no momento que terminar o programa, vou disponibilizar aqui… ou por msn…
Boa noite
Amigo a meses venho procurando uma aplicação tipo esta que voce menciona no portal
sera que teria a possibilidade de voce disponibilizar a mesma.
desde ja lhe agradeço a atenção
meu e-mail e almeidamentz@gmail.com