面向字节流(TCP)vs 报文级(UDP)

1. 面向字节流(TCP)

TCP 把数据当成"一串连续的字节流"来看待,没有明确的"消息边界"。

特点:

  • 接收端不知道你什么时候"发了一条完整的消息"

  • 多条消息可能粘在一起(粘包)或拆成多段(拆包)

  • 数据是连续的流,你只能靠协议去切割

举个比喻:

就像一条长长的"传送带 ",你把数据一段段放上去,

对方只能看字节流,不知道哪一段是一个完整的箱子(消息)。容易导致粘包。

2. 报文级(UDP)

UDP 是"报文(包)"为单位的协议 ,一条 sendto() 对应一条完整的 recvfrom()

特点:

  • 发多少就收多少,一次 recvfrom() 只对应一条完整的 UDP 包

  • 不会出现粘包或拆包问题

  • 单个包大小有限制(最多 65,535 字节)

类比:

就像一个个快递包裹 ,每次都独立寄送,接收方一包一包地收,

你永远不会把两包收到一块,也不会收到半包。所以不会出现粘包问题。


总结对比表:

特性 TCP(字节流) UDP(报文)
数据组织方式 连续的字节流 一包一包,带边界
是否有粘包/拆包 ✅ 有,需手动处理 ❌ 没有,收多少就是发多少
是否可靠传输 ✅ 有保证(重传 + 有序) ❌ 不保证
是否面向连接 ✅ 需要连接(3次握手) ❌ 无连接,直接发
适合场景 文件传输、网页、聊天、数据库等 音视频、游戏、广播、小数据通信
相关推荐
换个昵称都难2 小时前
webrtc 音频模块FEC模块
网络·音视频·webrtc
youngerwang2 小时前
【从搬运工到协处理器:网卡芯片架构、算法、验证与边缘演进深度剖析】
网络·算法·架构·芯片
KaMeidebaby3 小时前
卡梅德生物技术快报|纯化重组蛋白实操详解
人工智能·python·tcp/ip·算法·机器学习
zjun10013 小时前
TCP专栏-4.四次挥手
网络协议·tcp/ip
智慧光迅AINOPOL5 小时前
校园在线巡课系统方案:督导全覆盖
网络·全光网解决方案·全光网·校园全光网·校园全光网解决方案
酉鬼女又兒5 小时前
零基础入门计算机网络:网络层核心任务、三大关键问题、两种服务类型与 TCP/IP 网际层协议体系全解析
服务器·网络·网络协议·tcp/ip·计算机网络·php·求职招聘
Urbano6 小时前
工装制作全流程科普:从面料到自动化生产
网络·人工智能
2401_868534786 小时前
网规笔记 | 真题解析:2018年11月软考网规-网络安全案例分析
网络
Gauss松鼠会6 小时前
【GaussDB】GaussDB重要通信参数汇总
服务器·网络·数据库·sql·性能优化·gaussdb·经验总结
超级无敌zhq6 小时前
后渗透痕迹清理:攻防对抗中的隐身术
网络·数据库·网络安全