當前位置:編程學習大全網 - 源碼下載 - JAVA如何獲取局域網內所有安卓設備的ip地址,MAC以及序列號?

JAVA如何獲取局域網內所有安卓設備的ip地址,MAC以及序列號?

1.得到局域網網段,可由自己機器的IP來確定 (也可以手動獲取主機IP-CMD-ipconfig /all)

2.根據IP類型,壹次遍歷局域網內IP地址

JAVA類,編譯之後直接運行便可以得到局域網內所有IP,具體怎樣使用妳自己編寫相應代碼調用便可

代碼如下::

package bean;

import java.io.*;

import java.util.*;

public class Ip{

static public HashMap ping; //ping 後的結果集

public HashMap getPing(){ //用來得到ping後的結果集

return ping;

}

//當前線程的數量, 防止過多線程摧毀電腦

static int threadCount = 0;

public Ip() {

ping = new HashMap();

}

public void Ping(String ip) throws Exception{

//最多30個線程

while(threadCount>30)

Thread.sleep(50);

threadCount +=1;

PingIp p = new PingIp(ip);

p.start();

}

public void PingAll() throws Exception{

//首先得到本機的IP,得到網段

InetAddress host = InetAddress.getLocalHost();

String hostAddress = host.getHostAddress();

int k=0;

k=hostAddress.lastIndexOf(".");

String ss = hostAddress.substring(0,k+1);

for(int i=1;i <=255;i++){ //對所有局域網Ip

String iip=ss+i;

Ping(iip);

}

//等著所有Ping結束

while(threadCount>0)

Thread.sleep(50);

}

public static void main(String[] args) throws Exception{

Ip ip= new Ip();

ip.PingAll();

java.util.Set entries = ping.entrySet();

Iterator iter=entries.iterator();

String k;

while(iter.hasNext()){

Map.Entry entry=(Map.Entry)iter.next();

String key=(String)entry.getKey();

String value=(String)entry.getValue();

if(value.equals("true"))

System.out.println(key+"-->"+value);

}

}

class PingIp extends Thread{

public String ip; // IP

public PingIp(String ip){

this.ip=ip;

}

public void run(){

try{

Process p= Runtime.getRuntime().exec ("ping "+ip+ " -w 300 -n 1");

InputStreamReader ir = new InputStreamReader(p.getInputStream());

LineNumberReader input = new LineNumberReader (ir);

//讀取結果行

for (int i=1 ; i <7; i++)

input.readLine();

String line= input.readLine();

if (line.length() <17 || line.substring(8,17).equals("timed out"))

ping.put(ip,"false");

else

ping.put(ip,"true");

//線程結束

threadCount -= 1;

}catch (IOException e){}

}

}

}

  • 上一篇:嵌入式C語言的本質是什麽?和C語言有什麽區別嗎?
  • 下一篇:成語接龍無理取鬧
  • copyright 2024編程學習大全網