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

见图:

从图表可以理解:

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

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

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

例如:

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

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

我处理的思路:

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

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

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

相关推荐
在角落发呆12 小时前
工具配置备份步骤:从手动备份到自动化方案
运维·windows·自动化
_upupup13 小时前
Linux的调试工具——gdb/cgdb
linux·服务器
百度一下吧13 小时前
Nginx 使用手册:从安装配置到实战部署
运维·nginx
JeJe同学14 小时前
Docker镜像导入、容器启动
linux·运维·docker
回眸&啤酒鸭14 小时前
【回眸】自动化白盒测试落地实战指南
运维·自动化·log4j
闲云野鹤在人间15 小时前
MySQL|从理论、安装、备份到主从复制、MHA高可用详解
linux·运维·数据库·mysql·云计算
资料库0116 小时前
Linux 8个常见运维故障排查
java·linux·运维
机核研创社17 小时前
睡裤明橡筋自动化选型指南与落地四步走
运维·自动化
志栋智能17 小时前
超自动化运维,告别复杂系统的新范式
运维·自动化
零基础12317 小时前
Ubuntu 常用命令汇总
linux·运维·开发语言