如何理解TCP面向字节流协议

        之所以会说 TCP 是面向字节流的协议,UDP 是面向报文的协议,是因为操作系统对TCP 和 UDP 协议的发送机制不同,也就是问题原因在发送方。

UDP为什么面向报文协议?

        当用户消息通过 UDP 协议传输时,操作系统不会对消息进行拆分,在组装好 UDP 头部后就交给网络层来处理,所以发出去的 UDP报文中的数据部分就是完整的用户消息,也就是每个 UDP 报文就是一个用户消息的边界,这样接收方在接收到 UDP 报文后,读一个 UDP 报文就能读取到完整的用户消息。你可能会问,如果收到了两个 UDP 报文,操作系统是怎么区分开的?操作系统在收到 UDP 报文后,会将其插入到队列里,队列里的每一个元素就是一个UDP 报文,这样当用户调用 recvfrom0 系统调用读数据的时候,就会从队列里取出个数据,然后从内核里拷贝给用户缓冲区。

TCP为什么是面向字节流协议?

        当用户消息通过 TCP 协议传输时,消息可能会被操

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值