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

个人备案网站 论坛电子商务网站建设实践报告

个人备案网站 论坛,电子商务网站建设实践报告,免网站域名注册,企业解决方案提供商最近使用QModbusTCPClient通信#xff0c;需要频繁发送读写请求#xff0c;发现软件占用内存一直在增减#xff0c;经过不断咨询和尝试#xff0c;终于解决了。 1.方案一#xff08;失败#xff09; 最开始以为是访问太频繁#xff0c;导致创建reply的对象比delete re…    最近使用QModbusTCPClient通信需要频繁发送读写请求发现软件占用内存一直在增减经过不断咨询和尝试终于解决了。 1.方案一失败 最开始以为是访问太频繁导致创建reply的对象比delete reply快导致的。尝试增加时间间隔发现无效。内存占用还是在增加只是增速慢了点。 QModbusReply*reply m_modbus-sendReadRequest() 2.方案二失败 直接保存每个reply,只有replynullptr时才能重复发送对应的request()请求。在reply的finish槽函数中delete reply,同时让replynullptr。这样可以避免过于频繁的通信确保前一次request(处理响应之后再次发送相同的request(). if(!m_reply[4]) //确保前一次响应处理之后再次发送相同的request(){QVectorquint16values(1, 0);QModbusDataUnit read(QModbusDataUnit::Coils, 128 m_param-motorID(), values);m_reply[4] m_modbus-sendReadRequest(read, m_485ID);if(m_reply[4] !m_reply[4]-isFinished()){connect(m_reply[4], QModbusReply::finished, [this]() {if(m_reply[4]-error() QModbusDevice::NoError){m_runState m_reply[4]-result().values().first();}delete m_reply[4];m_reply[4] nullptr;//确保下次可以再次发送request()});}else {delete m_reply[4];m_reply[4] nullptr;}} 仍然没有解决问题内存还是在持续增加。 3.方案三成功 感谢这里的内容 https://bugreports.qt.io/browse/QTBUG-92072 问题 //qmodbusclient_p.h -enqueueRequest q-connect(q, QModbusClient::timeoutChanged,element.timer.data(), QOverloadint::of(QTimer::setInterval)); QModbusTCPClient的每次request(无论读写)都会增加这样一个连接。即使销毁了对应的reply,也不能删除该链接导致内存逐渐增加。 解决 针对每一次request,手动断开该链接。 m_modbus-disconnect(SIGNAL(timeoutChanged(int)), 0, 0); 一段完整代码 QModbusReply *reply m_modbus-sendWriteRequest(m_param-modbusData(topLeft),m_485ID);int id m_param-index(topLeft.row(), m_param-IDCol).data().toInt();int value topLeft.data().toInt();QString text m_param-index(topLeft.row(), m_param-TextCol).data().toString();if(reply !reply-isFinished()){connect(reply, QModbusReply::finished, [ ]() {if(reply-error() QModbusDevice::NoError){qInfo() QString(MotorID:%1 Write(%2-%3(%4)) Succeed!\n).arg(m_param-motorID()).arg(value).arg(id).arg(text);}else{qWarning() QString(MotorID:%1 Write(%2-%3(%4)) Failed!\n).arg(m_param-motorID()).arg(value).arg(id).arg(text);}//响应函数中手动断开连接m_modbus-disconnect(SIGNAL(timeoutChanged(int)), 0, 0);delete reply;});}else{qWarning() QString(MotorID:%1 Write(%2-%3(%4)) No Response!\n).arg(m_param-motorID()).arg(value).arg(id).arg(text); //响应函数中手动断开连接m_modbus-disconnect(SIGNAL(timeoutChanged(int)), 0, 0);delete reply;}
http://www.hkea.cn/news/14378592/

相关文章:

  • 做网站做好用的软件做美工用的网站
  • 做网站诈钱网站建设问题整改报告
  • 东莞网站网络推广公司网站开发公司php工资
  • 厦门做网站seo的中企动力是做什么的?
  • 抚顺 网站建设励志故事网站源码
  • 外贸建站应该怎么做十大永久免费网络游戏
  • 海淀做网站设计的公司wordpress访问密码
  • 平面设计接单网站有哪些网站建设外包平台
  • 顺的网站建设策划微软制作网页软件
  • 南阳网站建设推广佛山建设局官方网站
  • 网站设计培训机构用c 来建设网站
  • 比较实用的h5网页建设网站wordpress ping大全
  • 网站开发公司怎么做账吉安网页制作公司
  • 做网站一班需要多少钱宁波电商平台网站建设
  • 自己做的网站如何用手机去查看服装设计公司logo
  • 北京网站备案地址怎么做才能提高网站权重
  • ps怎样做网站详情页诸暨做网站
  • 别人做的网站如何要回服务器o2o 网站
  • 平面设计需要学什么软件?外链seo招聘
  • 全平台开发网站及app网站建设分为几种
  • 网页代理访问网站网站添加cnzz
  • 自己怎么做电影网站聊城wap网站制作
  • 仿站小工具使用教程不要营业执照的做网站
  • 泾阳县建设局网站响应式网站空间服务器要求
  • 上海普陀区企业网站建设广州市物联网应用示范项目
  • 深圳哪家网站建设好phpcms模板
  • 作业网站的设计制作案例网站优化培训
  • 注册送38元的游戏网站软件设计大赛
  • 网站建设策划书的心得厦门专业制作网站
  • 企业网站的建设 英文摘要苏州建网站公司选苏州聚尚网络