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

见图:

从图表可以理解:

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

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

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

例如:

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

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

我处理的思路:

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

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

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

相关推荐
快乐肚皮1 小时前
【无标题】
服务器·网络·tcp/ip
似水এ᭄往昔1 小时前
【Linux系统编程】--进程概念
linux·运维·服务器
Dxy12393102161 小时前
Linux 如何关闭关不掉的进程
linux·运维·chrome
小徐敲java1 小时前
Linux读取串口实时数据
linux·运维·服务器
辰_砂2 小时前
国产服务器操作系统编译nginx生成rpm包
运维·nginx
zhangfeng11332 小时前
车载gpu 飞地 只保存密钥 不保存 权重 Orin确实有TEE安全飞地(TSEC/OP-TEE)
服务器·网络·人工智能·安全·transformer·芯片
YOLO数据集集合2 小时前
配电站智能运维|变电一次设备识别|高压电气构件目标检测数据集|电力巡检
运维·人工智能·深度学习·yolo·目标检测·视觉检测
keyipatience2 小时前
25.Linux静态动态库全解析
linux·运维·服务器
weixin_520649873 小时前
通信与TCP核心知识
服务器·网络·tcp/ip
开开心心_Every3 小时前
多连接方式的屏幕共享工具推荐
运维·服务器·pdf·电脑·excel·tornado·dash