TCP接收端包顺序问题

今天我突然在思考一个TCP的问题:
如果TCP丢包,那么recv能不能收到失去那个包的数据流.

比如发送端发送A,B,C,D四个包,协议栈可能会发送A,BC,D,也就是把BC合成一个包发出去
如果BC包丢失,那么接收端调用recv的时候会怎么样?

我原本以为会收到A,D包,因为TCP貌似无法知道A和D包之间有没有别的包存在
然后查阅网上资料得知TCP协议栈在收到一个包的时候会同时计算下一个包的sequenceID,nextSequenceID = sequenceID + sizeof(currentPackage);

TCP接收端它是知道A,D包之间丢失了一个包的情况的.


http://www.csna.cn/archiver/tid-2218.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值