JavaSE进阶

16.3 InetAddress

16.3.1通讯要素1IP 和 端口号

  • IP 地址:InetAddress
    • 唯一的标识 Internet 上的计算机
    • 本地回环地址(hostAddress):0.0.1      主机名(hostName):localhost
    • 不易记忆
    • 端口号标识正在计算机上运行的进程(程序)
      • 不同的进程有不同的端口号
      • 被规定为一个 16 位的整数 0~65535。其中,0~1023被预先定义的服务通信占用(如http占用端口80,Tomcat占用端口8080,MySql占用端口3306,Oracle占用端口1521等)。除非我们需要访问这些特定服务,否则,就应该使用 1024~65535 这些端口中的某一个进行通信,以免发生端口冲突
    • 端口号与IP地址的组合得出一个网络套接字:Socket

16.3.2 InetAddress

  • Internet上的主机有两种方式表示地址:
    • 域名(hostName):atguigu.com
    • IP 地址(hostAddress):108.35.210
  • InetAddress类主要表示IP地址,两个子类:Inet4Address、Inet6Address。
  • InetAddress 类对象含有一个 Internet 主机地址的域名和IP地址:atguigu.com 和 202.108.35.210。
  • 域名容易记忆,当在连接网络时输入一个主机的域名后,域名服务器(DNS)负责将域名转化成IP地址,这样才能和主机建立连接。 -------域名解析

  • InetAddress类没有提供公共的构造器,而是提供了如下两个静态方法来获取InetAddress实例

  • InetAddress提供了如下几个常用的方法

16.3.2 InetAddress类代码实例

InetAddress address = InetAddress.getByName("www.atguigu.com");

System.out.println(address);

//获取InetAddress 对象所含的域名

System.out.println(address.getHostName());

//获取InetAddress 对象所含的IP地址

System.out.println(address.getHostAddress());

//获取本机的域名和IP地址

InetAddress address2 = InetAddress.getLocalHost();

System.out.println(address2);