本例需要被找的機器同時也在執行以下**。目前是遍歷所有ip進行查詢,效率很低,在沒找到更好的辦法之前只好用它了。
/**
* 在區域網(lan)裡面根據主機名找到對應的ip。
* 資訊描述:
*/public class iphostinlan
catch (ioexception e)
finally }}
catch (exception e)
}}.start();
}public static iphostinlan instance()
/*** 獲取主機名對應的ip。如果map中沒有那麼到區域網裡面去找。
* @param host
* @return
*/public string getip(string host)
ip = search(host);
if (ip == null)
else
return ip;
}/**
* 先在同一網段找,如果找不到再到其它網段找。
* @param host
* @return
*/private string search(string host)
catch (exception e)
if (ip == null)
if (localseg - i > -1)
i++;}}
catch (unknownhostexception e)
system.out.format("result from searching %s in other ip segments : %s\n", host, ip);
}return ip;
}/**
* 同時只能做乙個搜尋。
* @param host
* @param prefix
* @return
*/private synchronized string search(final string host, string prefix)
final string ip = prefix + i;
service.submit(new callable()
}catch (exception e)
finally
catch (ioexception e)
}return null;
}});
}service.shutdown();
while (resultip == null && false == service.isterminated())
catch (interruptedexception e)
}service.shutdownnow();
return resultip;
}public static void main(string args) throws ioexception
}
根據主機名獲得IP及根據IP獲得主機名
根據主機名獲得ip好說,前面已經學習過了,用函式gethostbyname獲得主機資訊,其中包括ip資訊 int cneighbordlg getipbyname afxmessagebox t list return 0 else 根據ip獲得主機資訊則要用gethostbyaddr函式 int ...
java 獲取區域網中的全部主機名和IP位址
命令 意義net view 獲取區域網中的全部主機名 ipconfig all 獲取本地ip,主機名,mac位址 arp a 獲取本區域網中的全部ip位址和實體地址 ping a x.x.x.x 獲取x.x.x.x的主機名 nbtstat a 主機名 獲取mac位址 執行外部命令 string co...
如何修改mac 下主機名 電腦名 區域網主機名
您電腦的名稱和本地主機名用於在本地網路上識別您的電腦。更改電腦的名稱 您電腦的名稱顯示在 共享 偏好設定面板的頂部。在 mac 上,選取蘋果選單 系統偏好設定 然後點按 共享 在 電腦名稱 欄中鍵入新名稱。可能需要點按鎖圖示 並提供管理員的名稱和密碼,然後才能更改名稱。更改您電腦的本地主機名 本地主...