本帖最后由 qq1761310972 于 2012-12-27 17:39:17 編輯
public static void main(String[] args) throws IOException{ String ip = "192.168.8."; for (int i = 1 ; i < 256; i++) { String host = ip+i; InetAddress ia = InetAddress.getByName(host); boolean bool = ia.isReachable(1500); if (bool) { System.out.println("主機: "+host+" 可用"); } } } 如上方式實現(xiàn),速度過慢。 如果用多線程,導致結果錯誤。 public static void main(String[] args) throws IOException { String ip = "192.168.8."; // for (int i = 1 ; i < 256; i++) // { // String host = ip+i; // InetAddress ia = InetAddress.getByName(host); // boolean bool = ia.isReachable(1500); // if (bool) // { // System.out.println("主機: "+host+" 可用"); // } // // new Thread1(host).start(); // } for (int i = 1 ; i < 15; i++) { String host = ip+i; new Thread1(host).start(); } } static class Thread1 extends Thread { String ip = null; public Thread1(String ip) { super(); this.ip = ip; } @Override public void run() { super.run(); try { InetAddress ia = InetAddress.getByName(ip); boolean bool = ia.isReachable(1500); if (bool) { System.out.println("主機: "+ip+" 可用"); } } catch (UnknownHostException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } } } 求優(yōu)化 要求不能 調(diào)用系統(tǒng)的ping來實現(xiàn) |
|
來自: free_light > 《Java》