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

政府网站建设费用增加营销模式有几种

政府网站建设费用增加,营销模式有几种,房地产宣传推广方案,制作软件的工作叫什么最近在做QT的项目,但是一直是带界面(QT Widgets)程序,前几天收到个需求,是要做个socket服务端的桌面程序,界面有没有都成,然后就想着接着用 QT Widgets 搞,结果辛辛苦苦把socket服…

最近在做QT的项目,但是一直是带界面(QT  Widgets)程序,前几天收到个需求,是要做个socket服务端的桌面程序,界面有没有都成,然后就想着接着用 QT  Widgets 搞,结果辛辛苦苦把socket服务的代码写完运行后,用netCat工具指令 nc localhost 1234 模拟客户端去连接socket,一直连不上。。。。

此处连不上是第一个坑:排查命令行用指令搜了所有监听1234端口(我socket服务器代码监听的端口就是1234)的指令,发现搜不到,说明监听根本就没启动,但是代码没报错,中间查阅贼多资料,没结果,直接说结果吧,【服务端项目创建的时候必须选Console Application!】,最后用这个重新见了个项目,同样的代码, nc localhost 1234连上了!!!怀疑是二个创建的权限不一样。

接着开发。。。。。。。到写这个服务端应用更新程序功能的时候,发现下载代码zip的代码没生效,下载文件的目录一直是空的,然后换了好几种写法,发现都不行,然后测试发现同样的下载代码放到main.cpp的main函数下面是可以下载成功的,但是放到别的cpp下就不行!问AI Chat  他说

DownLoader的生命周期在使用的时候被销毁了,然后就想着既然main函数下可以,那可以把DownLoader对象一直穿到使用的cpp不就行了,然后在使用的cpp的构造函数中把它给穿进去了,然后就在构造里接收这个对象的时候报错了  代码如下:
Business::Business(QString device_id,QString identifying,Downloader downloader2) : QObject() { Downloader downloader1 = downloader2;} 
上述代码 中Downloader downloader1 = downloader2; 报错了。。。  
接着查原因是:Downloader 对象不能直接拷贝。通常,Qt 中的 QObject 及其派生类(如 Downloader)都是禁止拷贝的,因为它们涉及到复杂的资源管理和对象层次结构。

然后又get到了个新知识点   智能指针(例如 std::shared_ptrstd::unique_ptr)来管理 Downloader 对象,或者确保只传递 Downloader 对象的引用或指针。

然后把代码改成如下了:main.cpp的main函数传参:

auto downloader = std::make_shared<Downloader>();
Business* b = new Business(cpuid,identifying,downloader);

Business的构造改成如下:

Business::Business(QString device_id,QString identifying,std::shared_ptr<Downloader> downloader2) : QObject(), downloader1(downloader2) {   
}

然后在这个构造函数里用downloader1下载测试了下,也下载成功了!说明排查的方向没有错,继续。

在需要下载的地方(我的是mqtt消息的回调函数里)全部使用downloader1进行下载,然后又遇到了第三个报错!,如下:

QObject: Cannot create children for a parent that is in a different thread. (Parent is QNetworkAccessManager(0x57ea93b13d48), parent's thread is QThread(0x57ea93b0ebc0), current thread is QThread(0x740ebc0013a0)

说是线程不一致,然后用到了信号和槽函数,修改后的Business的构造如下:

Business::Business(QString device_id,QString identifying,std::shared_ptr<Downloader> downloader2) : QObject(), downloader1(downloader2){
    connect(this,SIGNAL(test111(const QString&)),this,SLOT(test222(const QString&)));
}

然后在mqtt回调中执行发信号

emit test111(downloadUrl);

在槽函数 中用downloader1进行下载

void Business::test222(const QString str){
 
     qDebug() << "======================================Download Url:" << str;
 
    QString url = str;  // 替换为你要下载的文件的 URL
    QString savePath = "/home/xxxxxxxx/build-socket_server_ttt-Desktop_Qt_5_13_1_GCC_64bit-Debug/tfcard/AAAAAA";  // 替换为保存文件的路径
    downloader1->downloadFile(url, savePath);
 
    QObject::connect(downloader1.get(), &Downloader::downloadProgress, [](qint64 bytesReceived, qint64 bytesTotal) {
            qDebug() << "Download progress:" << bytesReceived << "/" << bytesTotal;
        });
 
   QObject::connect(downloader1.get(), &Downloader::downloadFinished, []() {
            qDebug() << "Download finished!";     
   });
}

测试发了下mqtt消息过去,下载成功了 !QT也是才自学了几天,被这几个问题搞了二三天,记录一下,下不再犯。

http://www.hkea.cn/news/275970/

相关文章:

  • 做生存分析的网站有哪些国外新闻最新消息
  • 济南网站优化收费百度互联网营销
  • bootstrap响应网站模板下载发帖推广百度首页
  • 动态网站上的查询怎么做新媒体运营培训学校
  • 网站开发人员必备技能百度优化推广
  • 花都 网站建设百度推广怎么添加关键词
  • 开发公司成本部职责岗位职责和流程苏州网站建设优化
  • 湛江网站制作系统seo排名需要多少钱
  • 城乡现代社区建设seo关键词推广案例
  • 旅游网站开发外文文献关键洞察力
  • 大学生asp网站开发的实训周长沙百度快速优化
  • 黑龙江省建设网站百度投流运营
  • 网站关键词太多好不好兰州seo整站优化服务商
  • 义乌网站设计网店推广策划方案
  • 无锡网站优化工作室网站关键词排名优化推广软件
  • 长沙做网站的公司亚马逊seo什么意思
  • 仪征建设银行官方网站怎么优化一个网站
  • 那个网站可以查询美做空基金宁波网站推广平台效果好
  • 杨凌企业网站建设天津seo优化
  • 建设网站的工具免费b站在线观看人数在哪儿
  • 毕业设计餐饮网站建设国内前10电商代运营公司
  • 日本b2b网站市场调研的步骤
  • 强企网做网站网店推广有哪些
  • 博物馆网站建设策划书公司如何在百度宣传
  • 做cpa广告网站教程百度sem推广具体做什么
  • 免费网站建站WWW222国际军事最新消息今天
  • 做网站软件miscrosoft云服务器
  • 如何做盗版小说网站最经典的营销案例
  • 设计类的网站和简介关键词优化推广排名多少钱
  • 代理记账网站怎么做北京seo方法