Estou tentando validar se um determinado host esta ligado fazendo uma conexao em uma determinada porta que eu sei que estará ativada. Estou utilizando o metodo isConnected() da classe Socket, no entando o mesmo so esta me retornando falso mesmo quando a maquina esta ligada.
Alguem tem alguma outra sugestao do q pode ser feito ?
Estou usando o seguinte trecho do codigo para verificação e simplesmente quando mando imprimir a saida do booleano nada esta sendo impresso.
publicbooleanmaquinaEstaAtiva(Stringhost){booleanisAtiva=false;try{Socketsock=newSocket(host,7);isAtiva=sock.getInetAddress().isReachable(500);try{Thread.sleep(1000);}catch(InterruptedExceptionex){ex.printStackTrace();}System.out.println("Valor do isAtiva: "+isAtiva);
E ae Alfredo, eu construi essa aplicação pra vc dar uma olhada e ter uma idéia melhor de como fazer isso, blz?
Abraço
importjava.awt.BorderLayout;importjava.awt.Container;importjava.awt.Dimension;importjava.awt.Toolkit;importjava.io.IOException;importjava.net.InetAddress;importjava.net.UnknownHostException;importjavax.swing.JFrame;importjavax.swing.JPanel;importjavax.swing.JScrollPane;importjavax.swing.JTextArea;publicclassProcuraHostextendsJFrame{privatestaticfinallongserialVersionUID=1L;privateString[]hosts={"vergueiro","yahoo.com","ig.com.br","google.com.br","192.168.10.253","192.168.10.60","192.168.10.184"};privateJTextAreataHostsEncontrados=null;privateJPanelpnJSroll=null;privateJScrollPanejsTextArea=null;protectedintw=500;protectedinth=400;publicProcuraHost()throwsIOException{super("Status dos Hosts na Rede pesquisada");configGUI();procuraHosts(hosts);}privatevoidconfigGUI(){taHostsEncontrados=newJTextArea();taHostsEncontrados.setEditable(false);taHostsEncontrados.setText("\t\tResultados da Pesquisa de Status: \n\n");jsTextArea=newJScrollPane(taHostsEncontrados);pnJSroll=newJPanel();pnJSroll.setLayout(newBorderLayout());pnJSroll.add(jsTextArea,BorderLayout.CENTER);Containerlayout=getContentPane();layout.setLayout(newBorderLayout());layout.add(pnJSroll);pack();setSize(w,h);setResizable(false);dimensionScreen();}privatevoidprocuraHosts(String[]hosts)throwsIOException{for(Stringname:hosts){try{InetAddressaddress=InetAddress.getByName(name);taHostsEncontrados.append("Nome: "+address.getHostName()+"\n");taHostsEncontrados.append("Endereço IP: "+address.getHostAddress()+"\n");if(address.isReachable(5000)==true)taHostsEncontrados.append("Status: On-line\n\n");elsetaHostsEncontrados.append("Status: Off-line\n\n");}catch(UnknownHostExceptione){taHostsEncontrados.append("Host não disponível: "+name+"\n\n");}catch(IOExceptione){taHostsEncontrados.append("Host não disponível: "+name+"\n\n");}}}privatevoiddimensionScreen(){Dimensionscreen=Toolkit.getDefaultToolkit().getScreenSize();Dimensionsize=getSize();if(size.width>screen.width)size.width=screen.width;if(size.height>screen.height)size.height=screen.height;setLocation(((screen.width-size.width)/2),((screen.height-size.height)/2));setVisible(true);}}