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

见图:

从图表可以理解:

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

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

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

例如:

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

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

我处理的思路:

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

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

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

相关推荐
TON_G-T24 分钟前
useEffect为什么会触发死循环
java·服务器·前端
tHeya06II1 小时前
涵盖 Cursor、Claude Code、Skills
java·服务器
maosheng11461 小时前
Linux的第二次作业
linux·运维·服务器
maosheng11461 小时前
Linux
linux·运维·服务器
sR916Mecz2 小时前
Linux 服务器磁盘扩容与目录迁移:rsync + bind mount 实现服务无感迁移(无需修改配置)
java·linux·服务器
0xDevNull2 小时前
Linux服务器日志查看完全指南
linux·运维·服务器
songx_992 小时前
Linux基础1
linux·运维·服务器
菱玖2 小时前
Linux 系统性能排查常用指令
linux·运维·服务器
皮卡蛋炒饭.3 小时前
进程间通信
linux·运维·服务器
艾莉丝努力练剑3 小时前
【Linux系统:信号】线程安全不等于可重入:深度拆解变量作用域与原子操作
java·linux·运维·服务器·开发语言·c++·学习