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

见图:

从图表可以理解:

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

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

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

例如:

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

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

我处理的思路:

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

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

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

相关推荐
智能运维指南6 小时前
代码管理软件如何融入 DevOps 工具链?全链路联通的 5 个关键点
运维·devops·信创适配·嘉为蓝鲸
充电zcx6 小时前
Linux:4:开发工具详解
linux·运维·服务器
gongfeng300010 小时前
福州企业级AI自动化获客解决方案品牌梳理与适用场景分析
运维·人工智能·自动化·g-claw ai员工
光电笑映11 小时前
网络通信基础:从协议分层到 Socket 编程预备
linux·运维·服务器·网络
微小冷12 小时前
用Mermaid画时序图
运维·流程图·时序图·mermaid·生命线
其实防守也摸鱼12 小时前
Codex 下载与本地部署实战:从安装到运行全指南
android·大数据·运维·安全·自动化
wdfk_prog13 小时前
ROS教程07:从 ros::start() 顺着源码读懂 Master、XML-RPC 与 Topic 注册发现
运维·缓存·docker·容器·ros
吴声子夜歌13 小时前
Shell编程实例——与解析相关的任务(二)
linux·运维·shell
mengge.cloud13 小时前
0917Docker 小白实验教程(理论+实操)
linux·服务器·网络·docker
倔强的石头10614 小时前
【Linux指南】动静态库系列(八):ELF 加载与进程地址空间:程序还没运行,为什么已经有地址
linux·运维