Rumah  >  Artikel  >  Java  >  Java InetAddress

Java InetAddress

PHPz
PHPzasal
2024-08-30 15:39:39860semak imbas

Java InetAddress digunakan untuk menentukan alamat IP. Alamat IP ialah label berangka unik yang diberikan kepada mesin dalam rangkaian. Alamat IP dinyatakan dalam 32 bit untuk IPv4 dan 128 bit untuk alamat IPv6. Contoh InetAddress menentukan alamat IP yang merupakan nama hos, berdasarkan sama ada resolusi nama hos dilakukan semasa penciptaan. Terdapat dua jenis alamat, Unicast dan Multicast. Antara muka tunggal mengenal pasti melalui alamat Unicast dan satu set antara muka mengenal pasti melalui alamat Multicast.

Mulakan Kursus Pembangunan Perisian Percuma Anda

Pembangunan web, bahasa pengaturcaraan, ujian perisian & lain-lain

Kelas InetAddress dalam java dibina dalam pakej java.net.InetAddress java.

Kelas InetAddress boleh digunakan untuk mendapatkan mana-mana alamat IP hos seperti www.educba.com, www.google.com dan semua. Alamat IP yang biasa digunakan ialah IPv4 untuk "versi 4". Pertimbangkan contoh alamat IP yang mungkin kelihatan seperti –

65.172.248.170

Alamat di atas mengandungi empat nombor, dan setiap nombor terdiri daripada tiga digit yang dipisahkan dengan ‘.’ (titik tunggal). Julat bagi setiap empat nombor ialah dari 0 hingga 255.

Fungsi ahli kelas InetAddress

Kelas InetAddress tidak mengandungi sebarang pembina tetapi mengandungi beberapa fungsi sebagai fungsi ahli kelas anInetAddress.

Ahli fungsi Java InetAddress Kelas

  1. InetAddressgetByAddress statik awam(Hos rentetan, bait[] addr) membuang UnknownHostException – Fungsi statik ini mengembalikan objek InetAddress, yang mengandungi nama hos dan alamat IP apabila parameter berlalu. Parameter hos boleh menjadi alamat IP dalam format rentetan atau nama mesin seperti www.educba.com.
  2. InetAddressgetByName statik awam(Hos rentetan) – Fungsi statik ini mengembalikan objek InetAddress hos yang ditentukan. Di mana hos parameter dinyatakan nama hos.
  3. InetAddress statik awam[] getAllByName(Hos rentetan) – Fungsi statik ini mengembalikan tatasusunan objek InetAddress bagi hos yang ditentukan.
  4. InetAddressgetLoopbackAddress() statik awam – Fungsi statik ini mengembalikan objek InetAddress jenis gelung balik.
  5. InetAddressgetLocalHost() statik awam melemparkan UnknownHostException – Fungsi statik ini mengembalikan objek InetAddress localhost.
  6. bait awam[] getAddress() – Fungsi ini mengembalikan alamat IP objek InetAddress sebagai tatasusunan. Alamat ip kedai tatasusunan dalam susunan bait kelihatan seperti dalam alamat IP.
  7. public String getHostAddress() – Fungsi ini mengembalikan alamat IP dalam format rentetan.
  8. public boolean isReachable(int timeout) throws IOException – Fungsi ini mengembalikan benar jika alamat IP boleh dicapai, manakala parameter tamat masa menentukan masa selepas itu panggilan akan dibatalkan dan mengakibatkan palsu nilai.
  9. public boolean isReachable(NetworkInterfacenetif, intttl, int timeout) membuang IOException – Fungsi ini terlebih beban fungsi isReachable(). Apabila netif mewakili antara muka rangkaian yang akan digunakan untuk menyemak kebolehcapaian, ttl mewakili sebelum keluar dari rangkaian bilangan lompatan yang dibuat oleh paket gema dan apabila parameter tamat masa menentukan masa selepas itu, panggilan itu akan dibatalkan.
  10. awam String getHostName() – Fungsi ini mengembalikan nama hos Alamat IP.
  11. public String getCanonicalHostName() – Fungsi ini mengembalikan nama domain yang layak sepenuhnya bagi alamat IP.
  12. awam String toString() – Fungsi ini mewakili alamat IP dalam format rentetan.
  13. public boolean isAnyLocalAddress()– Fungsi ini kembali benar jika alamat objek InetAddress ialah alamat setempat.
  14. public boolean isLinkLocalAddress() – Fungsi ini kembali benar jika alamat objek InetAddress ialah alamat pautan-tempatan.
  15. public boolean isLoopbackAddress() – Fungsi ini kembali benar jika alamat objek InetAddress ialah alamat loopback.
  16. public boolean isMCGloabal() – Fungsi ini kembali benar jika alamat IP multicast mempunyai skop global.
  17. public boolean isMCLinkLocal() – Fungsi ini kembali benar jika alamat IP multicast mempunyai skop pautan.
  18. public boolean isMCNodeLocal() – Fungsi ini kembali benar jika alamat IP multicast mempunyai skop nod.
  19. public boolean isMCOrgLoacal() – Fungsi ini kembali benar jika alamat IP multicast mempunyai skop organisasi.
  20. public boolean isMCSiteLocal() – Fungsi ini kembali benar jika alamat IP multicast mempunyai skop tapak.
  21. public boolean isMulticastAddress() – Fungsi ini kembali benar jika alamat IP ialah alamat multicast, yang empat bit pertamanya ialah 1110.
  22. public boolean isSiteLocalAddress()– Fungsi ini kembali benar jika IPaddress ialah alamat tapak-tempat.
  23. public int hashCode() – Fungsi ini mengembalikan alamat IP hashcode.
  24. public boolean equals(Object obj) – Fungsi ini kembali benar jika alamat IP adalah sama dengan alamat IP yang diluluskan.

Contoh untuk kelas InetAddress dalam java

Seterusnya, kami menulis kod java untuk memahami kelas InetAddress dengan lebih jelas dengan contoh berikut di mana kami mencipta objek InetAddress dengan menggunakan URL dan beberapa fungsi dalam objek ini yang membincangkan di atas -

Contoh #1

Kod:

import java.io.IOException;
import java.util.Arrays;
import java.net.InetAddress;
public class Demo
{
public static void main( String[] arg) throws IOException
{
InetAddress ip = InetAddress.getByName("www.educba.com");
byte addr[] = { 65, 2, 0, 1};
System.out.print("iptoString : " + ip.toString());
System.out.print("\ngetAllByName : " + ip.getAllByName("www.educba.com"));
InetAddress ips[] = InetAddress.getAllByName("www.educba.com");
System.out.println("IP Address");
for (InetAddress add:ips)
System.out.println(add.getHostAddress());
// function getByName()
System.out.print("\ngetByName : " + ip);
// function getByAddress()
System.out.print("\ngetByAddress : " +InetAddress.getByAddress(addr));
// function getLocalHost()
System.out.print("\ngetLocalHost : " +InetAddress.getLocalHost());
// function getLoopbackAddress()
System.out.print("\ngetLoopbackAddress : " +InetAddress.getLoopbackAddress());
// function getAllByName() which returns all ip addresses of google.com
System.out.print("\nGoogleip addresses : " + Arrays.toString(InetAddress.getAllByName("www.google.com")));
// function isReachable()
System.out.print("\nip address isReachable : " +ip.isReachable(50));
// function getHostname()
System.out.print("\nip address hostname :" +ip.getHostName());
// function getCanonicalHostname()
System.out.print("\nip address CanonicalHostname : " + ip.getCanonicalHostName());
}
}

Output:

Java InetAddress

Seterusnya, kami menulis kod java untuk kelas InetAddress di mana kami menggunakan fungsi Boolean yang tinggal pada objek InetAddress –

Contoh #2

Kod:

import java.net.Inet4Address;
import java.util.Arrays;
import java.net.InetAddress;
public class Demo
{
public static void main(String[] arg) throws Exception
{
InetAddress ip =  Inet4Address.getByName("www.educba.com");
InetAddress ip1[] = InetAddress.getAllByName("www.educba.com");
byte addr[]={68, 5, 2, 12};
System.out.println("ip : "+ip);
System.out.print("\nip1 : "+ip1);
InetAddress ip2 =  InetAddress.getByAddress(addr);
System.out.print("\nip2 : "+ip2);
System.out.print("\nAddress : " +Arrays.toString(ip.getAddress()));
System.out.print("\nHost Address : " +ip.getHostAddress());
System.out.print("\nisAnyLocalAddress : " +ip.isAnyLocalAddress());
System.out.print("\nisLinkLocalAddress : " +ip.isLinkLocalAddress());
System.out.print("\nisLoopbackAddress : " +ip.isLoopbackAddress());
System.out.print("\nisMCGlobal : " +ip.isMCGlobal());
System.out.print("\nisMCLinkLocal : " +ip.isMCLinkLocal());
System.out.print("\nisMCNodeLocal : " +ip.isMCNodeLocal());
System.out.print("\nisMCOrgLocal : " +ip.isMCOrgLocal());
System.out.print("\nisMCSiteLocal : " +ip.isMCSiteLocal());
System.out.print("\nisMulticastAddress : " +ip.isMulticastAddress());
System.out.print("\nisSiteLocalAddress : " +ip.isSiteLocalAddress());
System.out.print("\nhashCode : " +ip.hashCode());
System.out.print("\n Is ip1 == ip2 : " +ip.equals(ip2));
}
}

Output:

Java InetAddress

Kesimpulan

InetAddress ialah kelas terbina dalam java yang tersedia dalam pakej java.net.InetAddress. Ia digunakan untuk menentukan alamat IP mesin dalam rangkaian. Kaedah di atas, yang kami bincangkan, boleh digunakan untuk mendapatkan maklumat lanjut mengenai alamat IP.

Atas ialah kandungan terperinci Java InetAddress. 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
Artikel sebelumnya:Java KeyStoreArtikel seterusnya:Java KeyStore