Socket通信——TCP、UDP区别总结、使用场景

本文详细对比了TCP与UDP两种传输层协议的特点与应用场景。TCP是一种面向连接、提供可靠交付服务的全双工通信协议;而UDP则是一种无连接、尽最大努力交付的协议,适用于对实时性要求较高的场景。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

TCP

1.TCP是面向连接的
2.每条TCP连接只能用于两个断点,一对一
3.TCP提供可靠交付的服务:连接传输数据、无差错、不丢失、不重复、并且按序到达
4.TCP提供全双工通信
5.面向字节流。TCP根据对方给出的窗口和当前网络拥塞的程度来决定一个报文应该包含多少个字节


UDP

1.无链接。
2.UDP使用尽最大努力交付,不保证可靠性UDP是面向报文的,UDP对应用层交付下来的报文,既不合并,也不拆分,而是保留这些报文的边界
3.应用层交给UDP多长的报文,UDP就照样发送,即一次发送一个报文。 4.UDP没有拥塞控制。
5.UDP支持一对一、一对多、多对一和多对多的交互通信。
6.UDP的首部开销小,只有8字节


TCP如何保证可靠性?

(1)数据被分割成TCP认为最合适发送的数据块
(2)重传机制:TCP发出一个段后,启动定时器,如果不能及时收到报文段,则重发一个报文段
(3)当TCP收到一个段后,会发送一个确认
(4)TCP将保持它首部和数据的校验和
(5)TCP对收到的数据进行重新排序,保证数据的有序
(6)TCP会丢弃重复的数据
(7)TCP提供流量控制


TCP服务端、客户端交互步骤

    这里写图片描述


UDP服务端、客户端交互步骤

    这里写图片描述


TCP、UDP使用场景

  1. TCP协议需要三次握手通信成功后进行建立连接.

    • 场景:互联网和企业网上的客户端应用、数据传输的性能必须让位于数据传输的完整性、可控制性和可靠性时,TCP协议是当然的选择。
  2. UDP协议是直接发送,不会判断是否接收和发送成功.

    • 场景: 当强调传输性能而不是传输的完整性时,如:音频和多媒体应用,UDP是最好的选择。QQ使用的是UDP协议聊天,因为用户不需要等待就会接收。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值