關於JAVA取本機ip的一些傳說

2021-08-31 04:36:07 字數 752 閱讀 2809

先看一段**:the ip address of the local host. 在大多數機器上都可以取到本機ip

inetaddress.getlocalhost().gethostaddress()
但是多網絡卡配置的時候,就悲劇了:下圖這個機器使用上面的命令取回的是127.0.0.1。

用ifconfig看網絡卡:

這個時候就需要列舉多網絡卡判斷了

enumerationnetinte***ces = networkinte***ce.getnetworkinte***ces();
ip.issitelocaladdress() && !ip.isloopbackaddress()
最終方法如下(從網上copy來的..)

/**

* 多ip處理,可以得到最終ip

* @return

*/public static string getip() else if (ip.issitelocaladdress()

&& !ip.isloopbackaddress()

&& ip.gethostaddress().indexof(":") == -1) }}

} catch (socketexception e)

if (netip != null && !"".equals(netip)) else

}

關於JAVA取本機ip的一些傳說

先看一段 the ip address of the local host.在大多數機器上都可以取到本機ip inetaddress.getlocalhost gethostaddress 但是多網絡卡配置的時候,就悲劇了 下圖這個機器使用上面的命令取回的是127.0.0.1。用ifconfig看網...

關於127 0 0 1和本機IP的一些認識

這兩天要針對客戶的修改做一些驗證,發現不行,於是乎,各種上網找原因。問題的關鍵就是本機對本機傳送的ip資料報是如何處理的。乙個現象就是,用wireshark抓包,在a b兩台電腦上裝ftp server,如果在a訪問本機的ftp伺服器則wireshark並不會顯示相應的資料報,而a訪問b的ftp伺服...

關於127 0 0 1和本機IP的一些認識

這兩天要針對客戶的修改做一些驗證,發現不行,於是乎,各種上網找原因。問題的關鍵就是本機對本機傳送的ip資料報是如何處理的。乙個現象就是,用wireshark抓包,在a b兩台電腦上裝ftp server,如果在a訪問本機的ftp伺服器則wireshark並不會顯示相應的資料報,而a訪問b的ftp伺服...