用户界面UI -- 客户端 -- 数据库 交互时时间保护
来源:互联网 发布:极限挑战 感情 知乎 编辑:程序博客网 时间:2024/06/05 06:26
界面UI和客户端交互用的是windows消息机制,PostMessage();是异步的,操作之后就会返回结果,客户端与数据库链接是长连接,异步的,根据报文多少设置心跳包时间长短。为了让一个操作能连贯,在中间加一个时间保护机制。当UI传消息给客户端时,交互结束,增加一个时间保护,等到数据库传输结束。
注意要针对异常操作加时间保护释放。
代码片段
void CDB::StartProtect(bool bEnableMsgPump, unsigned int nTimeLimit){if (s_bEnableMsgPump || s_nTimeLimit)throw soci::soci_error("server is busy", soci::soci_error::DBE_CMD_BUSY);ResetProtect(bEnableMsgPump, nTimeLimit);}void CDB::ResetProtect(bool bEnableMsgPump, unsigned int nTimeLimit){s_bEnableMsgPump = bEnableMsgPump;s_nTimeLimit = nTimeLimit;if (s_nTimeLimit)m_Session.timelimit(s_nTimeLimit);if (s_bEnableMsgPump)m_Session.msg_pump(true);}//void CDB::EndProtect(){if (s_nTimeLimit)m_Session.timelimit(0);if (s_bEnableMsgPump)m_Session.msg_pump(false);s_bEnableMsgPump = false;s_nTimeLimit = 0;}
0 0
- 用户界面UI -- 客户端 -- 数据库 交互时时间保护
- mysql 查询数据库时时间戳的转换
- 数据库建表时时间字段类型设置
- ASP.NET AJAX客户端与数据库交互
- 用户界面也交互设计
- andriod用户界面UI
- UI用户界面设计原则
- UI Overview//用户界面概述
- 用户界面概述--UI OVERVIEW
- Android用户界面UI总结
- CXF 客户端,设置超时时长
- 时时而间进
- Java小程序之客户端的UI实现以及客户端与服务器的UI交互(山寨QQ进行中......)
- Android客户端与数据库交互数据的简单学习
- 数据库保护
- 数据库保护
- ajax实现无刷新时时写入数据库
- UI(用户界面)的人性设计
- 堆栈平衡
- PuzzleView
- hdu3709——Balanced Number(数位dp)
- 这时集群系列文章的目录篇
- 原始套接字编程
- 用户界面UI -- 客户端 -- 数据库 交互时时间保护
- 23. Merge k Sorted Lists(heap)
- SQL实现一个表格中多个字段合并为一个字段
- android studio 错误的解决方法之一:transformClassesWithDexForDebug' finished with non-zero exit value 3
- 安卓常用模块收集(一)--编辑窗口
- CentOS vsftp 553 Could not create file 错误解决
- 堆栈数据代码区
- 不使用第三个结点实现单链表的逆转
- 秒杀设计方案讨论