Mendapatkan Alamat IP Mesin Semasa Menggunakan Java
Dalam sistem teragih, nod sering berkomunikasi antara satu sama lain menggunakan alamat IP mereka. Walau bagaimanapun, mendapatkan alamat IP yang betul untuk mesin semasa boleh menjadi mencabar kerana kemungkinan berbilang antara muka rangkaian dan jenis alamat IP yang berbeza.
Menentukan Alamat IP yang Sesuai
Secara lalai, InetAddress.getLocalHost() mengembalikan alamat IP antara muka rangkaian aktif yang pertama. Walau bagaimanapun, ini mungkin bukan alamat yang diingini dalam semua kes, terutamanya apabila alamat IP tertentu diperlukan, seperti IP PPP atau IP LAN.
Lelaran Melalui Antara Muka Rangkaian
Satu pendekatan ialah menggunakan NetworkInterface.getNetworkInterfaces() untuk mendapatkan semua antara muka rangkaian pada mesin. Setiap antara muka kemudiannya boleh disemak untuk alamat IP yang tersedia menggunakan getInetAddresses(). Dengan mengulangi semua alamat IP yang tersedia, jenis IP yang diingini (cth., PPP, LAN) boleh dikenal pasti.
Kod Contoh
Coretan kod berikut menunjukkan cara untuk lelaran melalui antara muka rangkaian dan paparkan alamat IP yang dikaitkan dengan setiap antara muka:
Enumeration e = NetworkInterface.getNetworkInterfaces(); while(e.hasMoreElements()) { NetworkInterface n = (NetworkInterface) e.nextElement(); Enumeration ee = n.getInetAddresses(); while (ee.hasMoreElements()) { InetAddress i = (InetAddress) ee.nextElement(); System.out.println(i.getHostAddress()); } }
Membezakan Alamat IP
Setelah alamat IP diperoleh, membezakannya boleh dilakukan dengan menyemak jenisnya. Alamat gelung balik (127.0.0.1), alamat peribadi (tempat setempat) (192.168.x.x, 10.x.x.x, 172.16.x.x), pautkan alamat tempatan (169.254.x.x), alamat berbilang siaran (224.x.x.x) dan 5alamat siaran (25. .255.255) boleh dikenal pasti menggunakan kaedah disediakan oleh InetAddress API.
Memilih Alamat IP yang Betul
Kriteria khusus untuk memilih alamat IP yang betul akan berbeza-beza bergantung pada keperluan aplikasi. Secara umum, langkah berikut boleh dipertimbangkan:
Atas ialah kandungan terperinci Bagaimana untuk Mendapatkan Alamat IP yang Betul bagi Mesin Java Anda?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!