TCP数据收发两问题的排查

本文探讨了TCP连接中发送和接收数据时遇到的“丢失”问题,通过问题描述、分析和解决步骤,揭示了其实是缓冲区管理和数据处理错误导致的假象。问题在于发送速度过快导致缓冲区不足,以及特殊产品数据处理引发的解析错误。通过调整发送间隔、增大缓冲区和改进预读机制,成功解决了问题。

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

目录

1、TCP发送数据的“丢失”问题

2.1 问题描述

2.2 问题分析

2.3 问题解决

2、TCP接收数据的“丢失”问题 

2.1 问题描述

2.2 问题分析

2.3 问题解决

3、最后


       我们协议栈的某条业务线数据的收发基于TCP连接的,在测试过程中发现,TCP数据的接收与发送各有一次数据“丢失”的问题。我们知道TCP数据的收发是可靠的,不会发生数据丢失的情况,本文将讲的数据“丢失”是出问题时给人的一种假象。下面本文就来详细地讲述一下收发数据失败问题的排查过程。

1、TCP发送数据的“丢失”问题

2.1 问题描述

       平台的同事向我们反馈,换了新版本的协议栈后,发送大的消息(发送的是1669个字节的数据)会有概率失败的情况。失败不是说,发送端调用我们协议栈的接口发送数据时接口就返回失败,而是返回了成功,但接收端却并没有收到此消息。

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

dvlinker

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值