如何使用Java Socket获取本机IP和远端IP

1. 流程概述

在Java中,可以使用Socket类来获取本机IP和远端IP,下面是整个过程的步骤:

erDiagram
    程序员 --> 小白: 指导
    小白 --> 本地计算机: 运行程序
    本地计算机 --> 远程计算机: 连接
journey
    title Java Socket获取IP的流程
    section 小白学习
        程序员给小白介绍Java Socket获取IP的方法
    section 实践操作
        小白在本地计算机上运行程序,获取本机IP
        小白连接远程计算机,获取远端IP

2. 具体步骤

步骤一:获取本机IP

首先,我们需要获取本机IP地址,可以使用以下代码:

import java.net.InetAddress;

public class GetLocalIP {
    public static void main(String[] args) {
        try {
            InetAddress localhost = InetAddress.getLocalHost();
            System.out.println("Local IP Address: " + localhost.getHostAddress());
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

这段代码中,我们通过InetAddress.getLocalHost()方法获取本地主机的InetAddress实例,并通过getHostAddress()方法获取本地IP地址。

步骤二:获取远端IP

接下来,我们需要连接远程计算机,并获取其IP地址,可以使用以下代码:

import java.net.InetAddress;
import java.net.Socket;

public class GetRemoteIP {
    public static void main(String[] args) {
        try {
            Socket socket = new Socket("www.google.com", 80);
            InetAddress remoteAddress = socket.getInetAddress();
            System.out.println("Remote IP Address: " + remoteAddress.getHostAddress());
            socket.close();
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

这段代码中,我们通过创建一个Socket对象连接到远程计算机的IP地址和端口号(此处以连接Google的80端口为例),然后通过getInetAddress()方法获取远程IP地址。

结语

通过以上步骤,你可以成功获取本机IP和远程IP地址。希望这篇文章能够帮助你更深入地了解Java Socket编程中获取IP地址的方法。如果还有任何疑问或者其他问题,欢迎随时向我提问。祝学习顺利!