🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
* TCP(**Transmission Control Protoco** 传输控制协议) * UDP(**User Datagram Protocol**用户数据报协议) * TCP是面向连接的,支持点对点通信 * UDP是无连接的,支持一对一,一对多,多对多 * TCP是可靠的,UDP是不可靠的。 * TCP是面向字节流的,UDP是面向数据报文的。 ![](images/微信截图_20231111101823.png) - https://zhuanlan.zhihu.com/p/582621941 - **使用字节流传输一篇文章的例子**:服务器将文章文件视为字节流,并以逐字节的方式读取文件内容 **使用数据报文传输一篇文章的例子** 服务器将文章文件划分为一系列的数据报文,每个数据报文包含一部分文章的内容 --- TCP(传输控制协议)是一个可靠的、面向连接的协议,它在数据传输中有许多机制来确保数据的可靠性。当发生丢包时,TCP采取一系列措施来应对这种情况: 1. **重传机制:** 如果发送方未收到接收方的确认(ACK)或者接收方检测到数据包的校验和错误,发送方将认为数据包已经丢失。在这种情况下,TCP将重新发送丢失的数据包,以确保接收方能够正确地收到数据。 2. **超时和重传:** TCP使用超时机制来确定何时认为一个数据包丢失。如果发送方在规定的超时时间内未收到接收方的确认,它将认为数据包已丢失并进行重传。超时时间的动态调整通常由TCP的拥塞控制算法来管理。 3. **累积确认:** TCP使用累积确认机制。接收方在收到一个数据包后,会发送一个确认,确认收到的所有数据包,而不仅仅是当前接收到的那个。如果有一个数据包丢失,发送方会在超时后重传所有未收到确认的数据包,从而确保它们被接收方正确接收。 4. **拥塞控制:** TCP通过拥塞控制算法来动态调整发送速率,以防止网络拥塞。当网络拥塞时,可能导致数据包丢失。拥塞控制机制会使发送方逐渐降低发送速率,从而减轻网络负担。