千锋教育-做有情怀、有良心、有品质的职业教育机构

手机站
千锋教育

千锋学习站 | 随时随地免费学

千锋教育

扫一扫进入千锋手机站

领取全套视频
千锋教育

关注千锋学习站小程序
随时随地免费学习课程

当前位置:首页  >  千锋问问  > java获取本机ip地址端口号怎么操作

java获取本机ip地址端口号怎么操作

java获取本机ip地址 匿名提问者 2023-09-12 15:13:52

java获取本机ip地址端口号怎么操作

我要提问

推荐答案

  要在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地址和一个可用的端口号。