【bug-004】【tcp】网络断开重连后,客户端recv函数一直阻塞,不会返回
发表于:2026-11-02 作者:千家信息网编辑
千家信息网最后更新 2026年11月02日,【前提】客户端采用tcp阻塞模式【现象】与相机设备建立连接后,偶尔出现几次突然就收不到相机发过来的数据;几经排查,怀疑跟网络波动有关,于是通过插拔网线来模拟网络波动,果然bug复现。【分析】为什么网络
千家信息网最后更新 2026年11月02日【bug-004】【tcp】网络断开重连后,客户端recv函数一直阻塞,不会返回
【前提】客户端采用tcp阻塞模式
【现象】与相机设备建立连接后,偶尔出现几次突然就收不到相机发过来的数据;几经排查,怀疑跟网络波动有关,于是通过插拔网线来模拟网络波动,果然bug复现。
【分析】为什么网络中断tcp不主动通知应用程序呢?这涉及到TPC/IP协议的一个设计原则,即终端对终端参数。什么意思呢?就是由调用层选择是否需要这种功能,如果需要,调用者就自己设置相应参数,而不是tcp一检测到网络中断就及时反馈,因为大多数的应用程序并不需要即时的通知。
ps:我们自己设计接口的时候也应该考虑这种原则。
【解决方案】
1、换成非阻塞模式;
2、阻塞+保活。
这样,就可以利用函数返回值来判断是否需要重连了。
网络
阻塞
原则
参数
应用程序
模式
相机
程序
终端
应用
波动
设计
函数
客户
客户端
主动
前提
功能
意思
接口
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
伟宏互联网科技
互联网科技工作委员会
新华互联网科技学校
互联网金融监管科技数据
互联网科技会
智能科技公司是互联网公司吗
互联网科技集团
壕鑫互联网络科技
西安互联网科技公司
互联网科技咨询
博兴的互联网电子科技公司
须眉科技是互联网公司吗
中国航天科技大学国际工业互联网
湖南一路畅行互联网科技
苏州铭阳互联网科技有限公司
厦门江牛科技互联网
下一代互联网重大应用科技园
马化腾互联网科技教学
现代科技的标志之一的互联网
伍佰万互联网科技是干嘛的
互联网科技英文
融贸通互联网科技
深圳互联网科技怎么样
互联网企业和科技型企业
栖莱科技互联网股份有限公司
速维有品互联网信息科技(苏州)有限公司
科技大学互联网
湖北辰鑫科技互联网
承德科技产业互联网平台
恒生互联网科技趋势