java怎么檢測(cè)端口號(hào)是否被占用

小億
187
2024-01-18 22:36:04
欄目: 編程語言

要檢測(cè)端口號(hào)是否被占用,可以使用Java的Socket類來嘗試建立一個(gè)Socket連接。如果能夠成功建立連接,說明端口號(hào)已經(jīng)被占用,否則表示端口號(hào)沒有被占用。以下是一個(gè)簡(jiǎn)單的示例代碼:

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

public class PortScanner {
    public static void main(String[] args) {
        int port = 8080;  // 要檢測(cè)的端口號(hào)
        String host = "localhost";  // 主機(jī)名

        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");
        }
    }
}

在上述代碼中,我們嘗試在指定的主機(jī)和端口上建立一個(gè)Socket連接。如果連接成功,則輸出端口號(hào)已經(jīng)被占用的消息,否則輸出端口號(hào)可用的消息。

請(qǐng)注意,這種方法只能檢測(cè)指定主機(jī)上的端口是否被占用。如果你需要檢測(cè)本地機(jī)器上的端口是否被占用,可以將主機(jī)名設(shè)為"localhost"或者"127.0.0.1"。如果需要檢測(cè)遠(yuǎn)程機(jī)器上的端口是否被占用,需要將主機(jī)名設(shè)為對(duì)應(yīng)的IP地址。

0