推荐答案
要在Java中获取本机的IP地址和端口号,你可以使用InetAddress和ServerSocket类。下面是一个示例代码,演示如何获取本机的IP地址和一个可用的端口号:
  import java.net.InetAddress;
  import java.net.ServerSocket;
  import java.net.SocketException;
  import java.net.UnknownHostException;
  public class GetIPAddressAndPort {
  public static void main(String[] args) {
  try {
  // 获取本机的IP地址
  InetAddress localhost = InetAddress.getLocalHost();
  String ipAddress = localhost.getHostAddress();
  System.out.println("本机IP地址: " + ipAddress);
  // 获取一个可用的端口号
  try (ServerSocket socket = new ServerSocket(0)) {
  int port = socket.getLocalPort();
  System.out.println("可用端口号: " + port);
  } catch (SocketException e) {
  e.printStackTrace();
  }
  } catch (UnknownHostException e) {
  e.printStackTrace();
  }
  }
  }在上面的示例中,我们首先通过调用InetAddress.getLocalHost()方法获取本机的InetAddress对象。然后,我们可以使用getHostAddress()方法获取本机的IP地址,并将其打印到控制台。
接下来,我们通过创建一个ServerSocket对象并传递端口号为0,来获取一个可用的端口号。传递0作为端口号会使操作系统自动分配一个空闲的端口号。我们可以通过getLocalPort()方法获取实际分配的端口号,并将其打印到控制台。
输出结果可能类似于:
本机IP地址: 192.168.1.100
可用端口号: 56789
通过这种方式,你可以获取到本机的IP地址和一个可用的端口号。
其他答案
- 
                
                要在Java中获取本机的IP地址和端口号,你可以使用NetworkInterface和ServerSocket类。下面是一个示例代码,演示了如何获取本机的IP地址和一个可用的端口号: import java.net.*; import java.util.Enumeration; public class GetIPAddressAndPort { public static void main(String[] args) { try { Enumeration networkInterfaces = NetworkInterface.getNetworkInterfaces(); while (networkInterfaces.hasMoreElements()) { NetworkInterface networkInterface = networkInterfaces.nextElement(); if (networkInterface.isLoopback() || !networkInterface.isUp()) { continue; } Enumeration inetAddresses = networkInterface.getInetAddresses(); while (inetAddresses.hasMoreElements()) { InetAddress inetAddress = inetAddresses.nextElement(); if (inetAddress instanceof Inet4Address) { String ipAddress = inetAddress.getHostAddress(); System.out.println("本机IP地址: " + ipAddress); break; } } } try (ServerSocket socket = new ServerSocket(0)) { int port = socket.getLocalPort(); System.out.println("可用端口号: " + port); } catch (SocketException e) { e.printStackTrace(); } } catch (SocketException e) { e.printStackTrace(); } } } 在上面的示例中,我们使用NetworkInterface.getNetworkInterfaces()方法获取本机的所有网络接口。然后,我们遍历每个网络接口,并检查是否为回环接口或已关闭的接口。如果是,则跳过当前接口。接下来,我们获取每个接口的所有IP地址,并遍历它们。 我们通过检查inetAddress instanceof Inet4Address来确定地址是否为IPv4地址。如果条件成立,我们获取IPv4地址并打印到控制台。 接下来,我们使用ServerSocket类创建一个临时的服务器套接字,并传递端口号为0,以便让操作系统自动分配一个可用的端口号。我们通过getLocalPort()方法获取实际分配的端口号,并将其打印到控制台。 输出结果可能类似于: 本机IP地址: 192.168.1.100 可用端口号: 56789 通过这种方式,你可以获取到本机的IP地址和一个可用的端口号。 
- 
                
                要在Java中获取本机的IP地址和端口号,你可以使用java.net包中的InetAddress和ServerSocket类。下面是一个示例代码,演示了如何获取本机的IP地址和一个可用的端口号: import java.net.InetAddress; import java.net.ServerSocket; import java.net.SocketException; import java.net.UnknownHostException; public class GetIPAddressAndPort { public static void main(String[] args) { try { // 获取本机的IP地址 InetAddress localhost = InetAddress.getLocalHost(); String ipAddress = localhost.getHostAddress(); System.out.println("本机IP地址: " + ipAddress); // 获取一个可用的端口号 try (ServerSocket socket = new ServerSocket(0)) { int port = socket.getLocalPort(); System.out.println("可用端口号: " + port); } catch (SocketException e) { e.printStackTrace(); } } catch (UnknownHostException e) { e.printStackTrace(); } } } 在上面的示例中,我们首先通过调用InetAddress.getLocalHost()方法获取本机的InetAddress对象。然后,我们可以使用getHostAddress()方法获取本机的IP地址,并将其打印到控制台。 接下来,我们通过创建一个ServerSocket对象并传递端口号为0,来获取一个可用的端口号。传递0作为端口号会使操作系统自动分配一个空闲的端口号。我们可以通过getLocalPort()方法获取实际分配的端口号,并将其打印到控制台。 输出结果可能类似于: 本机IP地址: 192.168.1.100 可用端口号: 56789 通过这种方式,你可以获取到本机的IP地址和一个可用的端口号。 
 
          
         
             
             
       
       
                
 
                     
                 
                 
                 
                 
                 
                


 
                 
                 
                 
                 
                 
                 
     
       
         京公网安备 11010802030320号
京公网安备 11010802030320号