要檢測端口號是否被占用,可以使用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地址。