关于QT客户端和服务器端之前状态监控

见图:

从图表可以理解:

服务端,如果关闭监控,那么客户端立刻就不能获取网络的状态,因为链接没有改变;

通常情况下,我们希望客户端可以实时监控到服务器当前网络状态,确保自动重连或者监控网络的状态变化;

因此服务器端需要优雅关闭网络连接之后,然后等待一些时间延时,确保客户端都能够有足够的时间处理问题。

例如:

客户端需要接受三个消息:

这样客户端才能够监控到服务器端网络的状态变化,然后及时捕获,进入正常的业务流程。

我处理的思路:

1、客户端创建一个网络连接定时器,连接成功定时器关闭;

2、当出现网络异常(服务器不能立刻关闭监听,先关闭链接,等待一些时间)触发消息,进入消息槽,异常消息顺序:Error ,StateChange,OnDisconnect;

3、在OnDisconnect槽内,激活网络连接定时器,进入定时尝试连接的状态;

相关推荐
Gauss松鼠会9 小时前
GaussDB 中 gsql 与 DBeaver(JDBC)客户端工具查询时间不一致:原因、排查与处理
运维·服务器·数据库·sql·gaussdb·经验总结
谙弆悕博士10 小时前
debian快速换源
linux·运维·windows·debian·下载·换源·网络问题
.道阻且长.10 小时前
Linux基本开发工具:编译器gcc/g++
linux·运维·服务器·职场和发展
Decay__16 小时前
05_MySQL 常用 SQL 大全 —— 诊断、管理、优化辅助 SQL 与三大系统库速查
运维·数据库·sql·mysql·架构
贞明电子18 小时前
工业三色报警灯怎么接入项目系统?开关量与RS485控制应用指南
运维·网络·微信公众平台·贞明电子
HideF18 小时前
Linux
linux·服务器·网络
万联WANFLOW18 小时前
海外网络故障怎么排查?Cloudflare 三季度断网报告解读与 mtr 实战
运维·网络·故障分析
Ruiery20 小时前
Linux 6.6内核内存管理深度解析(十三):slab/slub 分配器
linux·运维·服务器
乌恩大侠21 小时前
从 AI-RAN 到 AI Agent:基于 NVIDIA Nemotron 构建 5G/6G 智能网络故障诊断系统
服务器·人工智能·5g·o-ru·ai-ran·电信大模型
Decay__1 天前
04_MySQL DBA 日常运维手册 —— 会话管理、锁与阻塞、事务监控、慢查询与日志巡检
运维·数据库·sql·mysql·架构