hostIp= InetAddress.getLocalHost().getHostAddress();让这个语句显示本机ip
时间: 2024-02-02 19:02:41 浏览: 122
你可以在Java程序中使用以下代码来获取本机的IP地址:
```java
import java.net.InetAddress;
public class Main {
public static void main(String[] args) {
try {
InetAddress inetAddr = InetAddress.getLocalHost();
String ipAddress = inetAddr.getHostAddress();
System.out.println("本机IP地址:" + ipAddress);
} catch (Exception e) {
System.out.println("获取本机IP地址失败:" + e.getMessage());
}
}
}
```
这个程序会输出本机的IP地址。注意,这个IP地址可能会因为网络环境的变化而变化,所以不要将其硬编码到你的程序中。如果你需要在程序中使用IP地址,可以将其保存到配置文件中或者通过其他方式动态获取。
相关问题
DatagramSocket socket = new DatagramSocket(); int hostPort =socket.getLocalPort();//获取当前收发地址的端口 String hostIP = InetAddress.getLocalHost().getHostAddress();
这段代码创建了一个 DatagramSocket 对象,并通过该对象获取了当前收发地址的端口号和本机的 IP 地址。
具体来说,第一行代码创建了一个 DatagramSocket 对象,该对象可以用于发送和接收 UDP 数据报。在创建 DatagramSocket 对象时,如果不指定端口号和 IP 地址,系统会自动分配一个空闲的端口号和本机的 IP 地址。
第二行代码调用 `getLocalPort()` 方法获取当前 DatagramSocket 对象绑定的端口号。
第三行代码使用 `InetAddress.getLocalHost().getHostAddress()` 方法获取本机的 IP 地址。`InetAddress.getLocalHost()` 方法返回一个表示本机的 InetAddress 对象,`getHostAddress()` 方法返回该 InetAddress 对象对应的 IP 地址。
实现利用InetAddress.getByName()按计算机名称获得实验室局域网中所有开机主机名称和IP地址。import java.net.InetAddress; import java.net.UnknownHostException; public class lab1 { public static void main(String[] args) { try { // 获取本机的InetAddress实例 InetAddress localhost = InetAddress.getLocalHost(); // 获取本地网络地址前缀 byte[] address = localhost.getAddress(); String prefix = ""; for (int i = 0; i < address.length - 1; i++) { prefix += (address[i] & 0xff) + "."; } // 遍历局域网中所有可能的IP地址并获取主机名和IP地址 for (int i = 1; i <= 255; i++) { String host = prefix + i; try { InetAddress inetAddress = InetAddress.getByName(host); String hostName = inetAddress.getHostName(); String hostAddress = inetAddress.getHostAddress(); System.out.println("HostName: " + hostName + ", hostAddress: " + hostAddress); } catch (UnknownHostException e) { } } } catch (UnknownHostException e) { e.printStackTrace(); } } }分析该代码
== 0) ? prefix + "255." : prefix + address[i] + "."; } // 遍历局域网中所有可能的IP地址 for (int i = 1; i < 255; i ) { String host = prefix + i; // 通过名称获取InetAddress实例 InetAddress inetAddress = InetAddress.getByName(host); // 判断是否可达 if (inetAddress.isReachable(5000)) { System.out.println(inetAddress.getHostName() + " : " + inetAddress.getHostAddress()); } } } catch (UnknownHostException e) { e.printStackTrace(); } catch (Exception e) { e.printStackTrace(); } } }
阅读全文