Java獲取電腦真實IP地址的示例代碼
更新時間:2020年09月28日 09:29:01 作者:H.U.C-王子
這篇文章主要介紹了Java如何獲取電腦真實IP地址,忽略虛擬機等IP地址的干擾,幫助大家更好的理解和使用Java,感興趣的朋友可以了解下
/**
* @author yins
* @date 2018年8月12日下午9:53:58
*/
import java.net.Inet4Address;
import java.net.InetAddress;
import java.net.NetworkInterface;
import java.net.SocketException;
import java.util.Enumeration;
/**
* 獲取本地真正的IP地址,即獲得有線或者無線WiFi地址。
* 過濾虛擬機、藍牙等地址
* @author yins
* @date 2018年8月12日 下午9:53:58
*/
public class GetRealLocalIP {
/**
* 獲取本地真正的IP地址,即獲得有線或者無線WiFi地址。
* 過濾虛擬機、藍牙等地址
* @author yins
* @date 2018年8月12日下午9:56:35
* @return
*/
public static String getRealIP() {
try {
Enumeration<NetworkInterface> allNetInterfaces = NetworkInterface
.getNetworkInterfaces();
while (allNetInterfaces.hasMoreElements()) {
NetworkInterface netInterface = (NetworkInterface) allNetInterfaces
.nextElement();
// 去除回環(huán)接口,子接口,未運行和接口
if (netInterface.isLoopback() || netInterface.isVirtual()
|| !netInterface.isUp()) {
continue;
}
if (!netInterface.getDisplayName().contains("Intel")
&& !netInterface.getDisplayName().contains("Realtek")) {
continue;
}
Enumeration<InetAddress> addresses = netInterface
.getInetAddresses();
System.out.println(netInterface.getDisplayName());
while (addresses.hasMoreElements()) {
InetAddress ip = addresses.nextElement();
if (ip != null) {
// ipv4
if (ip instanceof Inet4Address) {
System.out.println("ipv4 = " + ip.getHostAddress());
return ip.getHostAddress();
}
}
}
break;
}
} catch (SocketException e) {
System.err.println("Error when getting host ip address"
+ e.getMessage());
}
return null;
}
}
此代碼中只要讀取到了WiFi或者有線地址其中之一立即return。
以上就是Java獲取電腦真實IP地址的示例代碼的詳細內容,更多關于Java獲取IP地址的資料請關注腳本之家其它相關文章!
相關文章
redisson.tryLock()參數(shù)的使用及理解
這篇文章主要介紹了redisson.tryLock()參數(shù)的使用,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2024-04-04
spring boot 注入 property的三種方式(推薦)
這篇文章主要介紹了spring boot 注入 property的三種方式,需要的朋友可以參考下2017-07-07
springboot整合gateway實現(xiàn)網(wǎng)關功能的示例代碼
本文主要介紹了springboot整合gateway實現(xiàn)網(wǎng)關功能的示例代碼,文中通過示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下2022-02-02
idea創(chuàng)建properties文件,解決亂碼問題
這篇文章主要介紹了idea創(chuàng)建properties文件,解決亂碼問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2024-07-07
Java基于阻塞隊列實現(xiàn)生產(chǎn)者消費者模型示例詳解
這篇文章主要介紹了Java基于阻塞隊列實現(xiàn)生產(chǎn)者消費者模型,阻塞隊列的特點就是阻塞兩個字,阻塞功能使得生產(chǎn)者和消費者兩端的能力得以平衡,當有任何一端速度過快時,阻塞隊列便會把過快的速度降下來,感興趣的朋友可以參考下2023-12-12
基于Redis分布式鎖Redisson及SpringBoot集成Redisson
這篇文章主要介紹了基于Redis分布式鎖Redisson及SpringBoot集成Redisson,文章圍繞主題展開詳細的內容介紹,具有一定的參考價值,需要的小小伙伴可以參考一下2022-09-09

