java.netパッケージ
ネットワーク関連のオブジェクトはjava.netパッケージにあることを誰もが知っている必要があり、Javaネットパッケージの下のクラスは次のとおりです。
1.ホストオブジェクトInetAddressを取得します
//ローカルホストオブジェクトを取得inetAddress host = inetAddress.getLocalHost(); // IPアドレスまたはホスト名に基づいてホストオブジェクトを取得します。ホスト名でホストを取得する場合、DNS解像度が必要です。 inetAddress host = inetAddress.getByname( "192.168.100.124"); inetAddress host = inetaddress.getByname(www.baidu.com);
2。ホストオブジェクトのIPアドレスとホスト名を取得します(DNSはホスト名を解決するために必要です)
host.gethostaddress(); host.gethostname();
3.マシンのすべてのインターフェイスを取得してトラバースします
//データ型はenumerationEnumeration <NetworkInterface> enu = networkInterface.getNetWorkInterfaces(); while(enu.hasmoreelements){network interface inet = enu.nextelement(); string intname = inet.getName();}特定のインターフェイスによると、インターフェイス(ETH0:1などのIPをサポートする)に複数のサブインターフェイスがある可能性があるため、インターフェイスのすべてのIPアドレスの列挙セット(IPv4とIPv6インターフェイスの両方を含む)を取得できます。
Enumeration <InetAddress> net_list = inet.getinetAddresses(); while(net_list.hasmoreelements){inetAddress net = net_list.nextelement(); string ip = net.gethostaddress();}collections.list()メソッドを使用して、列挙タイプをArrayListコレクションのデータ構造に変換し、Itreator Traverserを使用してトラバースを使用できます。
これらのインターフェイスでネイティブとIPv4アドレスのすべてのインターフェイス名を取得する方法は次のとおりです(WindowsおよびLinux用)。
java.net。*; Import java.util。*; public class enumdemo {public static void main(string [] args){//すべてのインターフェイスを取得して列挙コレクションに入れてから、collections.list()を使用して列挙コレクションをArraylistコレクションに変換します。 arrayList <NetworkInterface> arr = collections.list(enu); for(iterator <networkinterface> it = arr.iterator(); it.hasnext();){network interface ni = it.next(); string intname = ni.getName(); //インターフェイス名を取得する//各インターフェイスですべてのIPネットワークインターフェイスコレクションを取得します。これは、サブインターフェイスArrayList <inetAddress> inets = collections.list(ni.getinetAddresses())がある可能性があるためです。 for(iterator <inetadress> it1 = inets.iterator(); it1.hasnext();){inetaddress inet = it1.next(); // IPv4アドレスのみをフィルターします。それ以外の場合は、IPv6アドレスが同時に取得されます。 System.out.printf( "% - 10S%-5S%-6S%-15S/n"、 "inetfaceName:"、intname、 "| ipv4:"、ip); }}}}}} catch(socketexception s){s.printstacktrace(); }}}要約します
上記は、この記事のコンテンツ全体です。この記事の内容には、すべての人の研究や仕事に特定の参照値があることを願っています。ご質問がある場合は、メッセージを残してコミュニケーションをとることができます。 wulin.comへのご支援ありがとうございます。