Java

java怎么检测端口号是否被占用

小亿
194
2024-01-18 22:36:04
栏目: 编程语言

要检测端口号是否被占用,可以使用Java的Socket类来尝试建立一个Socket连接。如果能够成功建立连接,说明端口号已经被占用,否则表示端口号没有被占用。以下是一个简单的示例代码:

import java.io.IOException;
import java.net.Socket;

public class PortScanner {
    public static void main(String[] args) {
        int port = 8080;  // 要检测的端口号
        String host = "localhost";  // 主机名

        try {
            Socket socket = new Socket(host, port);
            System.out.println("Port " + port + " is already in use");
            socket.close();
        } catch (IOException e) {
            System.out.println("Port " + port + " is available");
        }
    }
}

在上述代码中,我们尝试在指定的主机和端口上建立一个Socket连接。如果连接成功,则输出端口号已经被占用的消息,否则输出端口号可用的消息。

请注意,这种方法只能检测指定主机上的端口是否被占用。如果你需要检测本地机器上的端口是否被占用,可以将主机名设为"localhost"或者"127.0.0.1"。如果需要检测远程机器上的端口是否被占用,需要将主机名设为对应的IP地址。

0
看了该问题的人还看了