[Java]套接字地址InetAddress讲解
2015-05-27 18:41
393 查看
package com.sjf; import java.net.Inet4Address; import java.net.Inet6Address; import java.net.InetAddress; import java.net.NetworkInterface; import java.net.UnknownHostException; import java.util.Enumeration; /** * * @author sjf0115 * */ public class InetAddressExample { public static void main(String[] args) { // Get the network interfaces and associated for this host try { NetworkInterface networkInterface = null; // 获得该主机每一个接口的信息 Enumeration<NetworkInterface> interfaceList = NetworkInterface.getNetworkInterfaces(); if(interfaceList == null) { System.out.println("--No interfaces found--"); }//if else { while(interfaceList.hasMoreElements()) { networkInterface = interfaceList.nextElement(); // 接口名称 System.out.println("Interface->"+networkInterface.getName()); // 获取与接口相关联的地址 根据主机的不同配置 可能包含IPV4或IPV6地址 Enumeration<InetAddress> inetAddressList = networkInterface.getInetAddresses(); if(inetAddressList == null) { System.out.println("--No address for this NetworkInterface--"); }//if else { InetAddress address = null; while(inetAddressList.hasMoreElements()) { address = inetAddressList.nextElement(); // 对每个地址进行检测判断属于哪个IP地址子类 System.out.print(address instanceof Inet4Address ? "(v4)" : (address instanceof Inet6Address ? "(v6)" : "(?)")); // 打印IP地址 System.out.println(":"+address.getHostAddress()); }//while } }//while } } catch (Exception e) { } String host = "www.baidu.com"; try { // 一个名字可能关联了多个数字地址 该方法返回一组与给定主机名相关联的所有地址的实例 InetAddress[] addressesList = InetAddress.getAllByName(host); for(InetAddress address : addressesList) { System.out.println(address.getHostName()+" "+address.getHostAddress()); }//for // Determines the IP address of a host, given the host's name. InetAddress address2 = InetAddress.getByName(host); System.out.println(address2.getHostName()+" "+address2.getHostAddress()); // Returns the local host. InetAddress address3 = InetAddress.getLocalHost(); System.out.println(address3.getHostName()+" "+address3.getHostAddress()); } catch (UnknownHostException e) { e.printStackTrace(); } } }
相关文章推荐
- Java 输出通过 InetAddress 获得的 IP 地址数组
- Java笔记(9)-网络编程、URL、InetAddress、套接字、Socket、ServerSocket、多线程、UDP、广播数据包、远程调用
- Java的InetAddress.getByName方法不指定主机名却可以确定主机的 IP 地址,真意外!
- Java 输出通过 InetAddress 获得的 IP 地址数组
- 【1】JAVA---地址App小软件(AddressApp.class)(初步接触项目开发的分层思想)(表现层)
- 【Android 应用开发】Android 网络编程 API笔记 - java.net 包 权限 地址 套接字 相关类 简单介绍
- Java String与InetAddress的相互转换
- at java.net.InetAddress.getLocalHost(InetAddress.java:1475)
- java InetAddress基本使用
- Java 中网络相关 API:InetAddress、URL 的应用
- java.net.InetAddress的使用
- java二十三节-InetAddress与URL
- Java Socket应用(二)——java中InetAddress的应用
- java之InetAddress的使用
- (OS 10048)通常每个套接字地址(协议/网络地址/端口)只允许使用一次。 : AH00072: make_sock: could not bind to address 0.0.0.0:X
- Java中网络相关API的应用——InetAddress&URL
- Java网络编程之InetAddress
- java常用类之——java.net.InetAddress
- java InetAddress.getLocalHost() 在linux里实现
- java点滴之InetAddress类和InetSocketAddress的使用