Python网络编程——UDP编程
UDP 是一种无连接、不可靠但高效的传输层协议。为了更清晰地理解它与 TCP 的区别,请看下表:
特性 | UDP | TCP |
---|---|---|
连接方式 | 无连接 (直接发送) | 面向连接 (需三次握手) |
可靠性 | 不可靠(不保证数据必达、有序、不重复) | 可靠(保证数据正确、有序送达) |
传输单位 | 数据报文(有消息边界) | 字节流(无消息边界,可能粘包) |
速度 | 较快(头部开销小,仅8字节) | 相对较慢(头部至少20字节,有复杂控制机制) |
控制机制 | 无流量控制、拥塞控制 | 有流量控制、拥塞控制、超时重传 |
连接对象 | 支持一对一、一对多、多对多 | 只能是点对点 |
适用场景 | 实时应用(音视频、游戏、DNS) | 可靠性要求高的应用(文件传输、网页浏览、邮件) |
简单来说:TCP 可靠但稍慢,像打电话;UDP 快速但不可靠,像发电报。