InetAddress类

InetAddress类没有提供公共的构造器,而是提供了静态方法来返回InetAddress实例

  • public static InetAddress getLocalHost()
  • public static InetAddress getByName(String host)

host就是主机名,或者说这个位置是来写IP的,有两种写法
一:用IPV4的表示方式
这里其实就类似于File类
获取InetAddress类的对象来表示具体的IP
还有一种写法就涉及到域名的问题

域名: 因为用IP地址表示IP比较抽象,不容易记忆,直接 www. 名字. com,这就算是域名了,用户可以通过域名的方式来访问某一个IP地址
想访问某个网站也不会去写它的IP地址,而是在浏览器端写域名,将域名发给DNS(域名解析服务器,会帮我们把域名解析出来它的IP是多少),再拿着IP地址去访问网络服务器,就请求到了资源。
在本地C盘中去找,会有hosts文件,在这个文件中可以写某个域名对应的IP地址是多少,是先在本地的hosts文件中去找,如果没有找到,再发给DNS,因为大部分本地都没有,所以主要是发给DNS服务器进行解析

如何实例化InetAddress:
两个方法:
getByName(String host):可以写域名也可以写具体的IP地址
getLocalHost(),获取本机的IP

两个常用方法
getHostName():获取域名
getHostAddress():获取IP地址

public class test {

    public static void main(String[] args) {
        try {
            InetAddress inet1 = InetAddress.getByName("127.0.0.1");
            System.out.println(inet1);// /127.0.0.1,会很快的执行出来,因为没有进行解析

            InetAddress inet2 = InetAddress.getByName("www.baidu.com");
            System.out.println(inet2);//www.baidu.com/183.232.231.174,会有延迟,因为需要解析域名对应的IP地址是多少
        } catch (UnknownHostException e) {
            e.printStackTrace();
        }
    }
}

IP中有一个比较特殊的IP(或者说地址),叫做本地回路地址:127.0.0.1,表示本机,对应着localhost,可以把localhost看成域名也行,如果想访问本机上的服务器地址,就选用localhost,或者写成127.0.0.1

public class test {

    public static void main(String[] args) {
        try {
            InetAddress inet1 = InetAddress.getByName("127.0.0.1");
            System.out.println(inet1);///127.0.0.1

            //反正获取本机地址写的都是127.0.0.1,所以提供了专门的方法
            InetAddress inet2=InetAddress.getLocalHost();//直接获取本机的IP地址
            System.out.println(inet2);

        } catch (UnknownHostException e) {
            e.printStackTrace();
        }
    }
}

public class test {

    public static void main(String[] args) {
        try {
            InetAddress inet1 = InetAddress.getByName("127.0.0.1");
            System.out.println(inet1);// /127.0.0.1,会很快的执行出来,因为没有进行解析

            InetAddress inet2 = InetAddress.getByName("www.baidu.com");
            System.out.println(inet2);//www.baidu.com/183.232.231.174,会有延迟,因为需要解析域名对应的IP地址是多少

            System.out.println(inet2.getHostName());//www.baidu.com
            System.out.println(inet2.getHostAddress());//183.232.231.174

        } catch (UnknownHostException e) {
            e.printStackTrace();
        }
    }
}
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值