qt 工作实践经验

1. C/S架构系统中,QT的radiobutton经常出现死循环, 导致此问题的源头是 服务器和客户端通信时间差产生的问题

例如,在客户端有两个 radiobutton, a 和b

     step A: 客户端--》服务器(客户端点击a响应,向服务器索取数据)   

 step B服务器---》客户端  (将客户端界面设置为 点击a后对应的数据,此时会将radiobutton a设置为选中状态,因为要与服务器发送的数据对应起来, 此数据为服务器保存发送过来的)

上述过程是正常的过程,实际应用中,如果点击a后,立即点击b,

即上述过程中,插入一个 step A1, 过程变为

  step A --> step A1 --> step B --> step B1

step A --> step A1 的时间差和 step A1 --> step B正好一致,则客户端会出现死循环此时,如果 前两个步骤的时间差和

即: 客户端会在 a 何必b 之间循环点击

解决方法:

在客户端接收到服务器送来的 点击 a后的相应数据后, 此时判断客户端是否还是a的选中状态,如果不是,则此包数据无效,不再设置。

PS:
客户端的一个界面中,如果控件过多时,客户端的一个操作会向服务器索要数据,此时如果系统比较慢,服务器反馈回来的响应数据包回来时,客户端的状态已经变了,这时,此包数据已经与客户端产生了冲突,此时就需要将此包数据丢弃,并给出提示信息


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值