Java 测试 IP 通不通

1. 流程图

journey
    title Java 测试 IP 通不通流程
    section 初始化
        开发者 -> 程序: 创建 Socket 对象
        note over 程序: Socket socket = new Socket();
    section 输入 IP 地址
        开发者 -> 程序: 输入要测试的 IP 地址
        note over 程序: Scanner scanner = new Scanner(System.in);
        note over 程序: String ipAddress = scanner.nextLine();
    section 连接 IP 地址
        程序 -> 系统: socket.connect(IPAddress, port); 
        note over 程序: InetAddress IPAddress = InetAddress.getByName(ipAddress);

2. 代码实现

2.1 初始化

首先,我们需要创建一个 Socket 对象,并导入相应的包。

import java.net.Socket;

public class IPTester {
    public static void main(String[] args) {
        Socket socket = new Socket();
    }
}

2.2 输入 IP 地址

接下来,我们需要获取用户输入的 IP 地址。

import java.net.Socket;
import java.util.Scanner;

public class IPTester {
    public static void main(String[] args) {
        Socket socket = new Socket();
        
        Scanner scanner = new Scanner(System.in);
        System.out.print("请输入要测试的 IP 地址: ");
        String ipAddress = scanner.nextLine();
    }
}

2.3 连接 IP 地址

现在,我们可以尝试连接给定的 IP 地址。

import java.net.InetAddress;
import java.net.Socket;
import java.util.Scanner;

public class IPTester {
    public static void main(String[] args) {
        Socket socket = new Socket();
        
        Scanner scanner = new Scanner(System.in);
        System.out.print("请输入要测试的 IP 地址: ");
        String ipAddress = scanner.nextLine();
        
        try {
            InetAddress IPAddress = InetAddress.getByName(ipAddress);
            socket.connect(IPAddress, 80); // 这里的端口号可以根据需要进行修改
            System.out.println("连接成功!");
        } catch (Exception e) {
            System.out.println("连接失败:" + e.getMessage());
        }
    }
}

3. 类图

classDiagram
    class IPTester {
        - Socket socket
        + main(String[] args)
    }

4. 总结

通过以上步骤,我们可以实现一个简单的 Java 程序来测试给定 IP 地址是否可连接。首先,我们创建一个 Socket 对象,然后获取用户输入的 IP 地址。接下来,我们使用 InetAddress 类将输入的 IP 地址转换为 InetAddress 对象,并尝试连接该地址。如果连接成功,则显示连接成功的消息,否则显示连接失败的消息。

这个简单的程序可以作为初学者了解 Java 网络编程的入门示例,同时也可以用于简单的 IP 可连通性测试。当然,实际的应用会更加复杂,可能需要处理更多的异常情况和验证步骤。但是,通过这个简单的示例,我们可以帮助小白开发者快速入门并理解基本的流程和代码实现。