网络通信三要素
协议 IP 端口号
网络通信协议
计算机进行数据传输 需要遵守的规则
UDP协议特点
面向无连接的通信协议 两台计算机进行数据交互不需要建立连接
发送端直接给接收端发送数据 接收端接收到数据也不会给发送端回应
UDP不需要建立连接 消耗资源少 发送速率快 但是每次发送数据不能超过64KB
不能保证数据的完整性
TCP协议特点
面向连接的通信协议 两台计算机要想进行数据交互必须建立连接
客户端----->服务端
客户端<----服务端
客户端----->服务端
建立连接 消耗资源多 发送速率慢 但是发送数据无限制 可以保证数据的可靠性
IP地址
计算机进入到网络中的唯一标识
IPv4:4个字节大小的二进制数来表示 每个字节用一个十进制数字(0-255)表示,数字间用符号“.”分开,如 “192.168.1.100”。
IPv6:采用128位地址长度,每16个字节一组,分成8组十六进制数,表示成ABCD:EF01:2345:6789:ABCD:EF01:2345:6789
查看本机IP
ipconfig
检测两台计算机是否能够建立连接
ping 网址/IP
两个特殊的IP地址
127.0.0.1
localhost 本地主机/当前计算机的IP
端口号
用来标识应用程序
用两个字节表示的整数,它的取值范围是0~65535 前1024已经被占用
InetAddress介绍
静态方法
static InetAddress getLocalHost() 返回本地主机
static InetAddress getByName(String host) 返回指定主机 host可以是IP 主机名 网址
方法
String getHostName() 获取主机名
String getHostAddress() 获取String IP
案例演示
public class Demo01_InetAddress {
public static void main(String[] args) throws UnknownHostException {
//获取本地主机
InetAddress host = InetAddress.getLocalHost();
System.out.println(host);
String hostName = host.getHostName();
String hostAddress = host.getHostAddress();
System.out.println(hostName);
System.out.println(hostAddress);
System.out.println("------------------------");
InetAddress byName = InetAddress.getByName("192.168.5.7");
System.out.println(byName);
System.out.println(byName.getHostName());
InetAddress byName1 = InetAddress.getByName("www.baidu.com");
System.out.println(byName1);
}
}