Java Inetアドレス

PHPz
リリース: 2024-08-30 15:39:39
オリジナル
917 人が閲覧しました

Java InetAddress は、IP アドレスを指定するために使用されます。 IP アドレスは、ネットワーク内のマシンに割り当てられる一意の数値ラベルです。 IP アドレスは、IPv4 の場合は 32 ビット、IPv6 の場合は 128 ビットで指定されます。 InetAddress のインスタンスは、作成時にホスト名解決が実行されたかどうかに基づいて、ホスト名である IP アドレスを指定します。アドレスにはユニキャストとマルチキャストの 2 種類があります。単一のインターフェイスはユニキャスト アドレスで識別され、一連のインターフェイスはマルチキャスト アドレスで識別されます。

無料ソフトウェア開発コースを始めましょう

Web 開発、プログラミング言語、ソフトウェア テスト、その他

Java の InetAddress クラスは、Java の java.net.InetAddress パッケージに組み込まれています。

InetAddress クラスを使用すると、www.educba.com、www.google.com などのホストの IP アドレスを取得できます。一般的に使用される IP アドレスは、「バージョン 4」の IPv4 です。 –

のような IP アドレスの例を考えてみましょう。

65.172.248.170

上記のアドレスには 4 つの数字が含まれており、各数字は「.」(単一ドット) で区切られた 3 桁の数字で構成されています。 4 つの数値の範囲はそれぞれ 0 ~ 255 です。

InetAddress クラスのメンバー関数

InetAddress クラスにはコンストラクターは含まれていませんが、InetAddress クラスのメンバー関数として何らかの関数が含まれています。

Java のメンバー 関数 InetAddress クラス

  1. public static InetAddressgetByAddress(String host, byte[] addr) throws UnknownHostException – この静的関数は、渡されたパラメーターとしてホスト名と IP アドレスを含む InetAddress のオブジェクトを返します。 host パラメータには、文字列形式の IP アドレス、または www.educba.com のようなマシン名を指定できます。
  2. public static InetAddressgetByName(String host) – この静的関数は、指定されたホストの InetAddress のオブジェクトを返します。ここで、パラメータ host にはホスト名を指定します。
  3. public static InetAddress[] getAllByName(String host) – この静的関数は、指定されたホストの InetAddress オブジェクトの配列を返します。
  4. public static InetAddressgetLoopbackAddress() – この静的関数は、ループバック型の InetAddress のオブジェクトを返します。
  5. public static InetAddressgetLocalHost() throws UnknownHostException – この静的関数は、ローカルホストの InetAddress のオブジェクトを返します。
  6. public byte[] getAddress() – この関数は、InetAddress オブジェクトの IP アドレスを配列として返します。 IP アドレスをバイト順に格納する配列は、IP アドレスのように表示されます。
  7. public String getHostAddress() – この関数は IP アドレスを文字列形式で返します。
  8. public boolean isReachable(int timeout)throws IOException – この関数は、IP アドレスに到達可能な場合は true を返しますが、timeout パラメーターは、呼び出しが中止されて false が返されるまでの時間を指定します。値。
  9. public boolean isReachable(NetworkInterfacenetif, intttl, int timeout) throws IOException – この関数は isReachable() 関数のオーバーロードされています。ここで、 netif は到達可能性を確認するために使用されるネットワーク インターフェイスを表し、 ttl はネットワークを出る前にエコー パケットが行うホップ数を表し、タイムアウト パラメーターでその後の時間を指定すると、呼び出しは中止されます。
  10. public String getHostName() – この関数は IP アドレスのホスト名を返します。
  11. public String getCanonicalHostName() – この関数は、IP アドレスの完全修飾ドメイン名を返します。
  12. public String toString() – この関数は、IP アドレスを文字列形式で表します。
  13. public boolean isAnyLocalAddress() – この関数は、InetAddress オブジェクトのアドレスがローカル アドレスの場合に true を返します。
  14. public boolean isLinkLocalAddress() – この関数は、InetAddress オブジェクト アドレスがリンクローカル アドレスの場合に true を返します。
  15. public boolean isLoopbackAddress() – この関数は、InetAddress オブジェクト アドレスがループバック アドレスの場合に true を返します。
  16. public boolean isMCGloabal() – この関数は、IP マルチキャスト アドレスがグローバル スコープを持つ場合に true を返します。
  17. public boolean isMCLinkLocal() – この関数は、IP マルチキャスト アドレスにリンク スコープがある場合に true を返します。
  18. public boolean isMCNodeLocal() – この関数は、IP マルチキャスト アドレスにノード スコープがある場合に true を返します。
  19. public boolean isMCOrgLoacal() – この関数は、IP マルチキャスト アドレスに組織スコープがある場合に true を返します。
  20. public boolean isMCSiteLocal() – この関数は、IP マルチキャスト アドレスにサイト スコープがある場合に true を返します。
  21. public boolean isMulticastAddress() – この関数は、IP アドレスがマルチキャスト アドレスであり、最初の 4 ビットが 1110 である場合に true を返します。
  22. public boolean isSiteLocalAddress() – この関数は、IPaddress がサイトローカル アドレスの場合に true を返します。
  23. public int hashCode() – この関数は IP アドレスのハッシュコードを返します。
  24. public booleanquals(Object obj) – この関数は、IP アドレスが渡された IP アドレスと同じである場合に true を返します。

Java の InetAddress クラスの例

次に、InetAddress クラスをより明確に理解するための Java コードを作成します。次の例では、URL と、上で説明したこのオブジェクト内の関数の一部を使用して InetAddress オブジェクトを作成します。

例 #1

コード:

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());
}
}
ログイン後にコピー

出力:

Java Inetアドレス

次に、InetAddress クラスの Java コードを作成し、InetAddress オブジェクトに残りのブール関数を適用します。

例 #2

コード:

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));
}
}
ログイン後にコピー

出力:

Java Inetアドレス

結論

InetAddress は、java.net.InetAddress パッケージで使用できる Java の組み込みクラスです。ネットワーク内のマシンの IP アドレスを指定するために使用されます。説明した上記の方法を使用して、IP アドレスに関する詳細情報を取得できます。

以上がJava Inetアドレスの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:php
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート