Javaでポート番号が使用されているかどうかを検出する方法は何ですか?

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

上記のコードでは、特定のホストとポートでソケット接続を確立しようとしています。接続が成功した場合は、ポート番号が使用中であるメッセージが出力され、失敗した場合はポート番号が使用可能であるメッセージが出力されます。

この方法は特定のホスト上のポートの占有を検知することができます。ローカルマシンのポートの占有を確認したい場合は、ホスト名を “localhost” または “127.0.0.1” に設定してください。遠隔のマシンのポートの占有を確認したい場合は、対応するIPアドレスにホスト名を設定する必要があります。

bannerAds