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

在网站留外链怎么做广告设计和平面设计有什么区别

在网站留外链怎么做,广告设计和平面设计有什么区别,技术支持保定网站建设 定兴,网站开发从哪开始学最近使用QModbusTCPClient通信,需要频繁发送读写请求,发现软件占用内存一直在增减,经过不断咨询和尝试,终于解决了。 1.方案一(失败) 最开始以为是访问太频繁,导致创建reply的对象比delete re…

    最近使用QModbusTCPClient通信,需要频繁发送读写请求,发现软件占用内存一直在增减,经过不断咨询和尝试,终于解决了。

1.方案一(失败)

最开始以为是访问太频繁,导致创建reply的对象比delete reply快导致的。尝试增加时间间隔,发现无效。内存占用还是在增加,只是增速慢了点。

QModbusReply*reply= m_modbus->sendReadRequest();

2.方案二(失败)

直接保存每个reply,只有reply==nullptr时才能重复发送对应的request()请求。在reply的finish槽函数中delete reply,同时让reply=nullptr。这样可以避免过于频繁的通信,确保前一次request()处理响应之后再次发送相同的request().

if(!m_reply[4])         //确保前一次响应处理之后再次发送相同的request(){QVector<quint16>values(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(), QOverload<int>::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.yayakq.cn/news/535893/

相关文章:

  • 松江区网站开发wordpress文章管理钩子
  • 流程网站设计找潍坊做网站的
  • 自己写的网站怎么发布郴州新网app下载
  • 最专业的房地产网站建设潍坊网页模板建站
  • 工业品网络营销百家号seo怎么做
  • 长治推广型网站建设h5免费模板网站
  • 2015做导航网站好网站空间和域名
  • 怎样创建网站数据库搜索引擎营销原理
  • 推广文章郑州网站制作十年乐云seo
  • 制作网站 服务器配置微商货源网平台
  • 网站建设基础筹备园林景观设计公司排名
  • 网站续费自己做抖音视频制作软件
  • pyhton做网站搜索引擎优化自然排名的优点
  • 东莞市土木建筑学会天津搜索引擎优化公司
  • 江苏专业网站制作公司手机网站被禁止访问怎么打开网页
  • 建设公司网站征集信息的通知学校门户网站群建设方案
  • iis访问网站打开要很久网络营销包括的主要内容有
  • 沈阳网站优化陈西设计之家
  • 个人主页网站html做品牌推广应该怎么做
  • 云南网站建设哪家好学网站开发怎么样
  • 类似聚划算的网站怎么建设专门做行业分析的网站
  • wordpress网站响应速度插件郑州知名网站建设公司排名
  • 源码下载网站cms深圳网站建设10强
  • 网站开发的目的 实习报告创意logo设计图片欣赏
  • 何苦做游戏网站专做负面的网站
  • 免费个人电子版简历下载网络优化属于什么部门
  • 厦门网站建设培训工程人才招聘网
  • 网站 域名空间 调试一起来做网站17
  • 全国最大网站建站公司邢台信息网123
  • 网站建设图片网站建设毕业答辩ppt模板