java获取本地ip
时间: 2024-10-15 22:09:13 浏览: 19
在Java中获取本地IP地址通常有两种常见的方式:
1. 使用`InetAddress`类:
```java
import java.net.InetAddress;
import java.net.UnknownHostException;
public class Main {
public static void main(String[] args) {
try {
// 获取本机所有网络接口的IP地址
InetAddress localHost = InetAddress.getLocalHost();
String ipAddress = localHost.getHostAddress();
System.out.println("Local IP Address: " + ipAddress);
} catch (UnknownHostException e) {
e.printStackTrace();
}
}
}
```
这个例子会返回第一个非IPv6的IP地址。
2. 使用`Socket`的构造函数:
```java
import java.net.Socket;
public class Main {
public static void main(String[] args) throws Exception {
Socket socket = new Socket();
socket.connect(new InetSocketAddress("8.8.8.8", 53), 1000); // Google DNS作为目标地址
String ipAddress = socket.getInetAddress().getHostAddress();
socket.close(); // 关闭连接以释放资源
System.out.println("Local IP Address: " + ipAddress);
}
}
```
这里通过尝试连接到外部服务器并获取其响应的地址来得到IP,如果网络不可达则无法正常工作。
阅读全文