Kelas inetaddress
Kelas inetaddress digunakan untuk merangkum alamat IP digital dan nama domain alamat yang kita bahas sebelumnya.
Anda berinteraksi dengan kelas ini melalui nama host IP, yang lebih mudah dan lebih mudah dipahami daripada alamat IP -nya.
Nomor alamat tersembunyi di dalam kelas Inetaddress.
Metode pabrik di kelas inetaddress
Kelas inetaddress tidak memiliki konstruktor yang jelas. Untuk menghasilkan objek inetaddress, metode pabrik yang tersedia harus digunakan.
Metode pabrik hanyalah konvensi untuk metode statis di kelas untuk mengembalikan instance dari kelas itu.
Untuk inetaddress, tiga metode: getLocalhost (), getByName () dan getAllByName () dapat digunakan untuk membuat instance inetaddress.
getLocalHost () hanya mengembalikan objek inetaddress yang melambangkan localhost.
Alamat lokal juga localhost, 127.0.0.1, dan ketiga alamat ini sama.
Metode getByName () mengembalikan inetaddress yang diteruskan ke nama hostnya.
Jika metode ini tidak dapat menyelesaikan nama host, mereka meningkatkan pengecualian yang tidak diketahui.
Di internet, adalah umum untuk menggunakan satu nama untuk mewakili banyak mesin.
Metode pabrik getallbyname () mengembalikan array kelas inetaddresses yang mewakili semua alamat yang diuraikan dengan nama khusus.
Ketika nama tidak dapat didekomposisi menjadi setidaknya satu alamat, itu akan meningkatkan pengecualian yang tidak diketahui.
Contoh program
Inetaddresstest01
Paket com.example.network; impor java.net.inetaddress; kelas publik inetaddressTest01 {public static void main (string [] args) Lempar Exception {inetaddress alamat = inetaddress.getLocalhost (); /Output: nama mesin/alamat IP // misalnya, nama pengguna-pc/10.4.16.131 // Dapatkan alamat IP melalui alamat nama domain = inetaddress.getbyname ("www.sohu.com"); (alamat); / /output: nama domain /alamat IP}}
Gunakan kelas InetAddress untuk menentukan alamat IP khusus
Alamat IP dibagi menjadi alamat biasa dan alamat khusus. Sebagian besar artikel sebelumnya adalah alamat IP biasa.
1. Metode isanylocaladdress
Return true ketika alamat IP adalah alamat wildcard, jika tidak ia mengembalikan false. Menggunakan alamat wildcard memungkinkan koneksi klien dari antarmuka jaringan apa pun diterima di host server. Alamat wildcard ipv4 adalah 0.0.0.0. ::.
2. Metode IsloopbackAddress
Return true ketika alamat IP adalah alamat loopback, jika tidak, kembalikan alamat false.loopback mewakili alamat IP mesin. Kisaran alamat loopback IPv4 adalah 127.0.0.0 ~ 127.255.255.255.255. Misalnya, 127.1.2.3 dan 127.0.200.200 adalah alamat loopback. Alamat loopback IPv6 adalah 0: 0: 0: 0: 0: 0: 0: 0: 1, atau dapat disingkat sebagai :: 1. Seperti yang ditunjukkan pada baris perintah berikut:
Ping 127.200.200.200
Hasil Menjalankan:
Balas dari 127.0.0.1: bytes = 32 waktu <1ms ttl = 128 (Catatan: 127.200.200.200 Di bawah Win7) Balas dari 127.0.0.1: bytes = 32 waktu <1ms ttl = 128Reply dari 127.0.0.1: byte = 32 kali <1 kali <1 MMS mmsms dari 127.0.0.1: byte = 32 waktu <1 mm <1 mm <1 mmsms dari 127.0.0 TTL = 128Reply dari 127.0.0.1: bytes = 32 waktu <1ms ttl = 128ping statistik untuk 127.200.200.200: Paket: dikirim = 4, diterima = 4, kalah = 0 (kerugian 0%), kira-kira pasangan perjalanan waktu dalam jutaan- juta- detik: minimum = 0ms, maksimum = 0ms, rata -rata = 0ms
Meskipun 127.255.255.255 juga merupakan alamat loopback, 127.255.255.255 tidak dapat dipenuhi ping di bawah Windows. Ini karena 127.255.255.255 adalah alamat siaran.
III
Return true ketika alamat IP adalah alamat koneksi lokal (LinkLocalAddress), jika tidak kisaran alamat koneksi lokal IPv4 adalah 169.254.0.0 ~ 169.254.255.255. Bit dapatkah itu adalah nilai sewenang -wenang, seperti Fe88: dan Fe80 :: ABCD :: adalah semua alamat koneksi lokal.
IV
Return true ketika alamat IP adalah alamat lokal wilayah (SitelocalAddress), jika tidak alamat alamat yang mengembalikan false.ipv4 dibagi menjadi tiga segmen: 10.0.0.0 ~ 10.255.255.255, 172.16.0.0 ~ 172.31.255.255, 192.168.0.0 ~ 192 .168.
5. Metode IsmulticastAddress
Return true ketika alamat IP adalah alamat siaran (multicastaddress), jika tidak ia mengembalikan false. Kisaran alamat siaran IPv4 adalah 224.0.0.0 ~ 239.255.255.255.255.255. Rincian tentang alamat siaran akan dibahas di bab -bab mendatang.
6. metode ismcglobal
Return true ketika alamat IP adalah alamat siaran global, jika tidak ia mengembalikan False. Alamat siaran IPV4 adalah alamat siaran global kecuali untuk alamat IP 224.0.0.0 dan byte pertama adalah 239. Byte pertama dalam alamat siaran global IPv6 adalah FF, byte kedua adalah 0e ~ fe, dan byte lainnya dapat berupa nilai apa pun, seperti ffbe :: dan ff0e :: semua alamat siaran global.
7. metode ismclinklocal
Return true ketika alamat IP adalah alamat siaran subnet, jika tidak ia mengembalikan False. Kisaran alamat siaran subnet IPv4 adalah 224.0.0.0 ~ 224.0.0.255. :: dan ff02: ABCD :: adalah semua alamat siaran subnet.
8. Metode ismcnodelocal
Return true ketika alamat IP adalah alamat siaran antarmuka lokal, jika tidak ia mengembalikan False. Semua alamat siaran IPV4 bukan alamat siaran antarmuka lokal. Byte pertama dari alamat siaran antarmuka lokal IPv6 adalah FF, kisaran byte kedua adalah 01 ~ F1, dan byte lainnya dapat berupa nilai apa pun, seperti FFB1 :: dan FF01: A123 :: adalah semua antarmuka lokal. Alamat siaran.
9. Metode Ismcorglocal
Pengembalian ketika alamat IP adalah alamat siaran di seluruh organisasi, jika tidak ia mengembalikan FALSE. Byte pertama dari alamat siaran seluruh organisasi IPv4 adalah 239, byte kedua tidak kurang dari 192, dan byte ketiga tidak lebih besar dari 195. Misalnya, 239.193.100.200 dan 239.192.195.0 adalah semua penyiaran organisasi di seluruh organisasi di seluruh organisasi di seluruh organisasi di seluruh organisasi di seluruh organisasi di seluruh organisasi di seluruh organisasi di seluruh organisasi di seluruh organisasi di seluruh organisasi di seluruh organisasi alamat. Byte pertama dari alamat siaran seluruh organisasi IPv6 adalah FF, kisaran byte kedua adalah 08 ~ f8, dan byte lainnya dapat berupa nilai apa pun, seperti FF08 :: dan FF48 :: adalah semua siaran seluruh organisasi di seluruh organisasi . alamat.
10. Metode ISMCSitelocal
Return true ketika alamat IP adalah alamat siaran di seluruh situs, jika tidak salah. Menggunakan alamat siaran di seluruh situs, informasi siaran dapat dikirim ke komputer di seluruh situs. Kisaran alamat siaran di seluruh situs IPv4 adalah 239.255.0.0 ~ 239.255.255.255.255. Byte pertama dari alamat siaran Situs-Situs IPv6 adalah FF, kisaran byte kedua adalah 05 ~ F5, dan byte lainnya dapat berupa nilai apa pun, seperti FF05 :: dan FF45 :: adalah semua siaran di seluruh situs. alamat.
Kode berikut dapat menentukan apakah alamat IP berada dalam kisaran sepuluh jenis alamat di atas:
Tes Paket; Impor Java.net.*; Impor java.lang.reflect.*; kelas publik mynet {public static void main (string [] args) melempar pengecualian {if (ar gs.length == 0) pengembalian; = Inetaddress.getByName (args [0]); cocok ("is.*") && method.getParameterTypes (). length == 0) {if (boolean.parseboolean (method.invoke (alamat) .toString ())) system.out.println (method.g etname (Method.g Etname ( ) + "= true");}}}}
Tes 1
Jalankan perintah berikut:
java test.mynet 224.0.0.1
Hasil Menjalankan:
ismclinklocal = trueismulticastaddress = true
Tes 2
Jalankan perintah berikut:
java test.mynet ffb1 ::
Hasil Menjalankan:
ismcnodelocal = ismulticastaddress true = true