当前位置: 首页 > wzjs >正文

做企业网站需要人维护么广州seo顾问

做企业网站需要人维护么,广州seo顾问,株洲做网站建设,建网站费用记账背景 在编写ModbusTCP时候,连接、寄存器读写属于通用的功能,为了便于后续直接复用,选择封装到一个类。本博文在封装展示该类过程中,会提及到编写该类过程中,出现的连接未成功的问题,以及该问题的解决方式。…

背景

在编写ModbusTCP时候,连接、寄存器读写属于通用的功能,为了便于后续直接复用,选择封装到一个类。本博文在封装展示该类过程中,会提及到编写该类过程中,出现的连接未成功的问题,以及该问题的解决方式。

问题

首先,需要明确设备连接状态有4类:

enum State {UnconnectedState,ConnectingState,ConnectedState,ClosingState};

其次,需要明确client->connectDevice()返回true并不是表示连接成功了,而只是连接请求发送成功,即状态切换到了ConnectingState。由于连接成功是ConnectedState,需要做client->state() == QModbusDevice::ConnectedState判断,只有true了,才是真正意义上的连接成功。

实现

在解决该问题前,需要介绍一个处理事件循环的类QEventLoop,主要作用于在同步代码中实现异步操作的等待,允许在程序中创建一个局部事件循环,用于阻塞当前线程并等待特定事件发生,直到事件循环被退出(quit()exit() 被调用)才结束。它的生命周期:事件循环在exec()调用后启动,在 quit() 后停止,通常配合信号槽机制使用

针对以上提及的问题,加入超时机制,等待连接完成:

bool modbusClient::connect(QString &msg)
{if (!client->connectDevice()) {qDebug() << "连接请求发送失败:" << client->errorString();msg="连接请求发送失败";return false;}// 等待连接完成(添加超时机制)QEventLoop loop;QTimer timer;timer.setSingleShot(true);//单次触发模式。定时器超时后会自动停止,不会重复触发timer.setInterval(2500);// 监听连接状态变化QObject::connect(&timer, &QTimer::timeout, &loop, &QEventLoop::quit);QObject::connect(client, &QModbusClient::stateChanged, [&](QModbusDevice::State state) {// qDebug() << "连接状态变化:" << state;if (state == QModbusDevice::ConnectedState) {loop.quit();  // 连接成功,退出事件循环}});timer.start();loop.exec();if (client->state() != QModbusDevice::ConnectedState) {msg = "连接超时";return false;}return true;
}

解决了以上的问题后,就可以进行modbusClient类封装了,已上传资源,注意使用时候要pro中引入QT += serialbus。调用方式,可以采用值调用方式modbusClient md(it.key(),it.value());md.work1(msg);,也可以采用指针的调用方式modbusClient *md1 =new modbusClient(it.key(),it.value()); md1->work1(msg);

http://www.dtcms.com/wzjs/270408.html

相关文章:

  • 青岛网站关键字优化湖南专业关键词优化服务水平
  • 徐州营销网站建设报价网站优化包括对什么优化
  • 网站做的相似重庆seo是什么
  • 智慧景区网站服务建设最新一周新闻
  • 学做衣服上什么网站谷歌推广开户多少费用
  • 网站怎么做长尾关键词网站推广策划思路的内容
  • 个人网页制作素材图片seo软件定制
  • 有了域名如何做网站搜索引擎关键词竞价排名
  • wordpress去除category西安优化外包
  • 做不了大流量网站自己做网站难吗
  • 刷网站建设互联网下的网络营销
  • 网站建设工作分解结构词典脚本外链平台
  • 电子商务网站管理的基本内容网络营销软件排行
  • 景区网站建设的好处青岛网站排名提升
  • 做动态的网站适合发表个人文章的平台
  • 展会网站建设搜狗网站收录入口
  • 新闻标题做的好的网站aso应用优化
  • 防邪办网站建设方案文档服务器域名怎么注册
  • 免费咨询大夫长沙网站seo优化排名
  • 网络公司做网站的合同网站维护
  • 自己制作网站需要什么软文写作范文500字
  • 东城东莞网站建设宁波网站推广哪家公司好
  • 怎样建设网站赚钱国外网站制作
  • 案例网站模板_案例网爱站网挖掘关键词
  • 外贸网站建设公司服务aso排名服务公司
  • 外贸英语学习网站提高网站排名
  • 网站建设成本报表app广告联盟
  • 网站改版上线微信软文模板
  • 网站建设所需基本资料子域名查询工具
  • 做医学网站高级seo