Rumah  >  Artikel  >  Java  >  Bagaimana untuk menyemak Ketersediaan Port di Java?

Bagaimana untuk menyemak Ketersediaan Port di Java?

DDD
DDDasal
2024-10-31 04:38:02510semak imbas

How to Check Port Availability in Java?

Menentukan Ketersediaan Port dalam Java

Apabila bekerja dengan aplikasi rangkaian, menentukan ketersediaan port tertentu adalah penting untuk mengelakkan konflik dan memastikan yang betul komunikasi. Di Java, terdapat beberapa kaedah untuk menyemak ketersediaan port secara pemrograman:

Projek Apache Camel menyediakan pelaksanaan yang cekap:

<code class="java">public static boolean available(int port) {
    if (port < MIN_PORT_NUMBER || port > MAX_PORT_NUMBER) {
        throw new IllegalArgumentException("Invalid start port: " + port);
    }

    ServerSocket ss = null;
    DatagramSocket ds = null;
    try {
        ss = new ServerSocket(port);
        ss.setReuseAddress(true);
        ds = new DatagramSocket(port);
        ds.setReuseAddress(true);
        return true;
    } catch (IOException e) {
    } finally {
        if (ds != null) {
            ds.close();
        }

        if (ss != null) {
            try {
                ss.close();
            } catch (IOException e) {
                /* should not be thrown */
            }
        }
    }

    return false;
}</code>

Kaedah ini mengesahkan ketersediaan port untuk kedua-dua sambungan TCP dan UDP dengan mencipta dan menguji ServerSocket dan DatagramSocket menggunakan nombor port yang disediakan. Jika instantiasi berjaya, pelabuhan dianggap tersedia; jika tidak, ia tidak tersedia.

Atas ialah kandungan terperinci Bagaimana untuk menyemak Ketersediaan Port di Java?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn