26-网络编程-05-网络编程(IP对象_InetAddress)

/*
 * 由于IP地址较为复杂,Java将其封装成了对象
 * 
 * 打开API,点进java.net包,找到InetAddress类:
 * 		
 * 		public class InetAddress extends Object implements Serializable:此类表示互联网协议 (IP) 地址。
 * 
 * 其两个子类Inet4Address和Inet6Address分别对应IPV4和IPV6这两个协议。
 * 
 * OSI模型的网络层和TCP/IP模型的网际层都能识别并解析IP地址
 */

/*
 * 发现InetAddress没有构造函数,且有getAddress()等非静态方法,说明该类有静态方法可以返回对象。该类如下两方法:
 * 
 * (1)public static InetAddress getByName(String host) throws UnknownHostException:在给定主机名的情况下确定主机的 IP 地址。
 * 
 * (2)public static InetAddress getLocalHost() throws UnknownHostException: 返回本地主机。
 */

package demo;

import java.net.InetAddress;
import java.net.UnknownHostException;

public class InetAddressDemo {

	public static void main(String[] args) throws UnknownHostException {

		//获取本地主机ip地址对象
		//InetAddress ip = InetAddress.getLocalHost();
		
		/*
		 * 拿到ip地址后,有以下两方法:
		 * (1)public String getHostAddress():返回 IP 对象字符串(以文本表现形式)。 
		 * (2)public String getHostName():获取此 IP 对象的主机名。
		 */
		
		//System.out.println(ip.getHostAddress());//10.196.19.56
		//System.out.println(ip.getHostName());//WangYu-PC
		
		//获取其他主机的ip地址对象
		InetAddress ip = InetAddress.getByName("10.196.19.56");
	//	InetAddress ip = InetAddress.getByName("WangYu-PC");效果与上一行一样,都是拿到对应信息的ip对象
		
		System.out.println(ip.getHostAddress());//10.196.19.56
		System.out.println(ip.getHostName());//WangYu-PC
		
		//利用该方法获取百度IP地址和主机名
		InetAddress ip2 = InetAddress.getByName("www.baidu.com");
		System.out.println(ip2.getHostAddress());//119.75.218.70
		System.out.println(ip2.getHostName());//www.baidu.com
		
		
	}

}

/*
 * 若随便给定一个ip地址:10.196.19.123,利用如下代码会运行较长时间:
 * 	
 * InetAddress ip = InetAddress.getByName("10.196.19.123");
 * System.out.println(ip2.getHostAddress());
 * System.out.println(ip2.getHostName());
 * 
 * 因为计算机不停在解析该ip地址,发现找不到。
 */


/**
 * InetAddress类一个需要了解的方法:
 * 		public static InetAddress[] getAllByName(String host) throws UnknownHostException
 * 在给定主机名的情况下,根据系统上配置的名称服务返回其 IP 地址所组成的数组。 
 * 
 * 获取到一个数组,其内全部是ip地址,因为如新浪、网易等,对应的ip地址不唯一,所以这个方法可以拿到所有ip地址对象。
 */

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值