JavaSE进阶
16.3 InetAddress类
16.3.1通讯要素1:IP 和 端口号
- 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);