Rumah > Java > javaTutorial > Bagaimanakah Saya Boleh Mendapatkan Alamat IP Yang Betul Mesin Java Saya dalam Rangkaian dengan Pelbagai Antara Muka?

Bagaimanakah Saya Boleh Mendapatkan Alamat IP Yang Betul Mesin Java Saya dalam Rangkaian dengan Pelbagai Antara Muka?

DDD
Lepaskan: 2024-12-15 22:35:17
asal
721 orang telah melayarinya

How Can I Obtain the Correct IP Address of My Java Machine in a Network with Multiple Interfaces?

Mendapatkan Alamat IP Mesin Semasa Menggunakan Java

Cabaran dan Pertimbangan

Dalam sistem teragih, menentukan alamat IP mesin tertentu ialah bukan tugas mudah. Kerumitan ini timbul kerana potensi kehadiran berbilang antara muka rangkaian dan alamat IP yang dikaitkan dengan setiap antara muka. Selain itu, bukan semua alamat IP boleh dicapai secara luaran.

Mendapatkan Semua Alamat IP Berkaitan

Satu pendekatan untuk mendapatkan semula semua alamat IP yang dipautkan ke mesin adalah dengan menggunakan kelas NetworkInterface. Kaedah ini berulang melalui setiap antara muka rangkaian dan mengekstrak alamat IP yang berkaitan. Walau bagaimanapun, membezakan antara mereka memberikan satu cabaran.

Membezakan Antara Alamat IP

Untuk membezakan antara alamat IP, gunakan kriteria berikut:

  • Alamat gelung balik : Julat 127.0.0.0 - 127.255.255.255
  • Alamat peribadi (tempat setempat): Julat 192.168.0.0 - 192.168.255.255, 10.0.0.0 - 10.0.0.0 - 10.5.255.255. 172.31.255.255
  • Pautkan alamat setempat: Julat 169.254.0.0 - 169.254.255.255
  • Alamat berbilang siaran:Alamat berbilang siaran:
  • Alamat siaran: 255.255.255.255
  • Alamat IP awam: Mana-mana alamat IPv4 di atas tidak termasuk dalam kategori

InetAddress API menawarkan kaedah untuk menguji jenis alamat IP tertentu, membantu dalam mengenal pasti alamat yang paling sesuai.

Pendekatan Alternatif

Kaedah tambahan untuk mendapatkan alamat IP mesin termasuk:

  1. Mendapatkan FQDN dan menggunakan DNS carian: Memperoleh FQDN yang diiklankan secara luaran hos dan mencari alamat IP utamanya menggunakan InetAddress.getByName().
  2. Mendapatkan semula alamat FQDN atau IP pilihan daripada konfigurasi: Menentukan FQDN yang dikehendaki atau alamat IP dalam fail konfigurasi atau melalui baris arahan argument.

Walaupun InetAddress.getLocalHost() sering mendapatkan semula alamat IP yang betul, pendekatan alternatif mungkin diperlukan dalam persekitaran rangkaian yang kompleks.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mendapatkan Alamat IP Yang Betul Mesin Java Saya dalam Rangkaian dengan Pelbagai Antara Muka?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan