【bug-004】【tcp】网络断开重连后,客户端recv函数一直阻塞,不会返回
发表于:2025-12-02 作者:千家信息网编辑
千家信息网最后更新 2025年12月02日,【前提】客户端采用tcp阻塞模式【现象】与相机设备建立连接后,偶尔出现几次突然就收不到相机发过来的数据;几经排查,怀疑跟网络波动有关,于是通过插拔网线来模拟网络波动,果然bug复现。【分析】为什么网络
千家信息网最后更新 2025年12月02日【bug-004】【tcp】网络断开重连后,客户端recv函数一直阻塞,不会返回
【前提】客户端采用tcp阻塞模式
【现象】与相机设备建立连接后,偶尔出现几次突然就收不到相机发过来的数据;几经排查,怀疑跟网络波动有关,于是通过插拔网线来模拟网络波动,果然bug复现。
【分析】为什么网络中断tcp不主动通知应用程序呢?这涉及到TPC/IP协议的一个设计原则,即终端对终端参数。什么意思呢?就是由调用层选择是否需要这种功能,如果需要,调用者就自己设置相应参数,而不是tcp一检测到网络中断就及时反馈,因为大多数的应用程序并不需要即时的通知。
ps:我们自己设计接口的时候也应该考虑这种原则。
【解决方案】
1、换成非阻塞模式;
2、阻塞+保活。
这样,就可以利用函数返回值来判断是否需要重连了。
网络
阻塞
原则
参数
应用程序
模式
相机
程序
终端
应用
波动
设计
函数
客户
客户端
主动
前提
功能
意思
接口
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
数据库工作表又称为
2018我国网络安全情况
高校搞网络安全管理工作
上海华淑网络技术有限公司
服务器链接
ibm服务器 硬盘
网络安全被动获取信息的手段
java 执行数据库语句
学财务的软件开发
迪岸网络技术上海有限公司
天瑞地安软件开发
三年制计算机网络技术专业
网络安全整改措施
我的世界匠魂哪个服务器好
农房数据库专题报告
建立数据库之前需要先建立项目
csgo连接不进队友服务器
双阳区新时代网络安全服务保障
配方分析数据库
保密局搞网络安全的
金仓数据库的模式是什么意思
医院网络安全检查实施方案
关于网络安全的手抄报竖版
昆山正规软件开发创新服务
关于增强网络安全措施
吉林大学东北亚数据库
怀旧服龙牙服务器工会
数据库安全性权限怎么改
金融IT软件开发进甲方
云南党员教育数据库怎么注册