网络通信协议
TCP/IP协议
传输控制协议/因特网互联网协议,是Internet最基本、最广泛的协议。它定义了计算机如何接入因特网,以及数据如何在它们之间传输的标准。它的内部是包含一系列的用于处理数据通信的协议,并采用了4层的分层模型,每一层都呼叫它的下一层所提供的协议来完成自己的需求
协议分类
在java.net包中包含的类和接口,它们提供低层的通信细节,我们可以直接使用这些类和接口,来专注于网络程序开发,而不用考虑通信细节
java.net包中提供了两种常见的网络协议的支持:
UDP
用户数据报协议。UDP是无连接通信协议,即在数据传输时,数据的发送端和接收端不建立连接。简单来说,当一台计算机给另一台计算机发送数据时,发送端不会确认接收端是否存在,就发送数据,同时在接收端在接收数据时,不会向发送端反馈是否收到数据
由于使用UDP协议消耗资源小,通信效率高,所以通常都用于音频、视频和普通数据的传输
特点:数据被限制在64kb以内,超出这个范围就不能发送了
TCP
传输控制协议。TCP协议是面向连接的通信协议,即传输数据之前,在发送端和接收端建立逻辑连接,然后再传输数据,它提供了两台计算机之间可靠无差错数据传输
在TCP连接中必须要明确客户端与服务器端,由客户端向服务器端发出连接请求,每次连接的创建都需要经过三次握手
- 第一次握手:客户端向服务器端发送连接请求,等待服务器确认
- 第二次握手:服务器向客户端回送一个响应,通知客户端接收到了连接请求
- 第三次握手:客户端再次向服务器发送确认信息,确认连接