要檢測(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地址。