概念
将不同区域的电脑连接在一起,组成一个具有一定规模,功能性的网络系统给。使得不同计算机之间可以相互通信,资源共享,分布处理,
计算机网络实现通信,必须要有一些规范(约定)。即对数据结构,传输控制,速率等指定标准。并且需要制定接口,实现点对点准确的进行信息传输。
通信协议的分层
数据从上往下进行封装。
拆分顺序则相反
网络标识
ip是所有计算机能实现网络通信的规则,任何厂商生产的计算机遵守ip协议就可以与因特网连接。每台电脑都有自己的ip地址,公网和内网有所区分,会经过网段进行转换。
每个软件也有个标识,区分收到的信息被所属信息的软件接收,称为端口
每个端口的软件中也有不同的资源,区分这些资源的则是URL 统一资源定位符。
不同电脑用户之间交流,通过协议更加规范,传输层协议有TCP - UDP 两种。
1、TCP协议 要先建立连接,经过3此握手,相当于打电话
2、UDP协议 不用建立连接,直接可以通信,相当于发短信
一般是使用两者的结合,先TCP建立(安全)然后用UDP(高效)
Java中的IP类
封装计算机的 ip 地址和 DNS( Domain Name System,域名系统)
- DNS ——将 某某地址的ip地址转成有意义的字符串,或者反转(IP地址可以直接在地址栏输入访问页面,也可以用域名访问)
- 在InetAddress类中,无构造器,使用InetAddress 的静态方法来获取对象。
获取对象
public static InetAddress getLocalHost()
——获取本机ip;public static InetAddress getByName(String host)
——根据 域名 或 ip 获取对象
常用方法
-
public String getHostAddress()
——输出 ip地址。 -
public String getHostName()
——输出域名当对象中创建方式是根据域名时,getHostName()返回域名。当根据ip创建时,会返回解析的域名, 当域名没有权限被解析或者没有存在时,则直接返回ip地址。
InetAddress add = InetAddress.getLocalHost()//获取本机ip对象
add = InetAddress.getByName("36.152.44.95"); //根据ip创建对象
System.out.println(add.getHostAddress()); //返回ip地址
System.out.println(add.getHostName());