InetAddress类
- Internet上的主机有两种方式表示地址:
- 域名(hostName):
https://juejin.cn/
- IP 地址(hostAddress):202.108.35.210
- InetAddress类主要表示IP地址,两个子类:Inet4Address、Inet6Address。
- InetAddress 类 对 象 含 有 一 个 Internet 主 机 地 址 的 域 名 和 IP 地 址 :
https://juejin.cn/
和 202.108.35.210。 - 域名容易记忆,当在连接网络时输入一个主机的域名后,域名服务器(DNS)负责将域名转化成IP地址,这样才能和主机建立连接。 -------域名解析
InetAddress类方法
- InetAddress类没有提供公共的构造器,而是提供了如下几个静态方法来获取InetAddress实例
public static InetAddress getLocalHost()
public static InetAddress getByName(String host)
- InetAddress提供了如下几个常用的方法
public String getHostAddress():
返回 IP 地址字符串(以文本表现形式)。public String getHostName():
获取此 IP 地址的主机名public boolean isReachable(int timeout):
测试是否可以达到该地址
InetAddress代码示例
InetAddress address_1 =InetAddress.getByName("www.juejin.com"); //获取InetAddress对象所含的域名 System.out.println(address_1); //获取InetAddress对象所含的IP地址 System.out.println(address_1.getHostName()); //获取本机的域名和IP地址 System.out.println(address_1.getHostAddress()); InetAddress address_2=InetAddress.getLocalHost(); System.out.println(address_2);
网络协议
- 网络通信协议 计算机网络中实现通信必须有一些约定,即通信协议,对速率、传输代码、代码结构、传输控制步骤、出错控制等制定标准。
- 问题:网络协议太复杂 计算机网络通信涉及内容很多,比如指定源地址和目标地址,加密解密,压缩解压缩,差错控制,流量控制,路由控制,如何实现如此复杂的网络协议呢?
- 通信协议分层的思想 在制定协议时,把复杂成份分解成一些简单的成份,再将它们复合起来。最常用的复合方式是层次方式,即同层间可以通信、上一层可以调用下一层,而与再下一层不发生关系。各层互不影响,利于系统的开发和扩展。