前段时间发现项目中的上传FTP软件有可能会在从服务器申请断连时Crash, 所以加了一个Timer。

由于项目代码行数过大, 此处上传部分代码片段。

    timeoutTimer = new QTimer();connect(timeoutTimer, SIGNAL(timeout()), this, SLOT(doTimeout()));timeoutTimer->setInterval(4000);

    case QFtp::Closing:// The connection is closing down, but it is not yet closed. (The state will be Unconnected when the connection is closed.)pMain->debug( "Status(%d) = disconnecting from HOST", type );timeoutTimer->start();break;

    case QFtp::Unconnected:// There is no connection to the host.pMain->debug( "Status(%d) = disconnected status", type );if ( communicator->isPerforming() ) {communicator->abortRequest();   // abort performing command, maybe done(ERROR) should be called later
        }timeoutTimer->stop(); //stop timerbreak;

/** *@projectName   BoeB9Project  *@author        Hasan **/
void FtpHelper::doTimeout()
{pMain->debug("debug154545 timeout !!!!!!!");pMain->sendProxyMessage("MesUPLOADTimeout", ProxyMessage::Notify);timeoutTimer->stop();
}

在此进程发出MesUPLOADTimeout 信息之后, 项目主进程会从代理Proxy中接受此信息并进行处理。

/***@projectName   BoeB9Project*@author        Hasan**/
void BoeB9QtmCellInlineMain::restartUploader()
{QProcess proc;QString c = "taskkill /im uploader.exe /f";proc.execute(c);proc.close();info("********info terminate uploader");QProcess *proc1 = new QProcess(this);proc1->start("cmd.exe", QStringList() <<"/c" << "c:///ORBKwsmcu/bin/start_uploader.bat");delete proc1;info("********info start uploader again");
}

主进程重启上传软件,从而跳过断连。

转载于:https://www.cnblogs.com/hasan/p/9161750.html

QT 防止FTP 上传软件在断连处 Crash相关推荐

  1. ftp上传软件,五大容易上手的ftp上传软件

    一提到ftp上传软件,大家第一个想到的不知道是什么,有可能你不太熟悉,但从事网站管理人员一定都用过.ftp上传软件是网络上用来传送文件的工具.ftp上传软件以汉化版和破解版的居多.但是破解版的一般都比 ...

  2. java ftp上传超时_有关java的ftp上传文件时断网的问题

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 我有一个java的ftp程序,他既是客户端又是服务端,我把程序放在两台电脑上运行, computer1和computer2,在computer1为文件上传 ...

  3. Qt之FTP上传/下载文件操作

    一个简单的Ftp客户端文件上传/下载操作示例. 上传文件 QNetworkAccessManager manager; QUrl url; /* 设置通讯协议 */ url.setScheme(&qu ...

  4. java定时任务_ftp上传软件,ftp上传软件定时功能教程

    IIS7服务器管理工具-FTP客户端 作为FTP客户端,它支持批量管理FTP站点 具体功能: FTP定时上传和定时下载,FTP定时备份,且操作简洁 iis7服务器管理工具还是vnc客户端 支持批量管理 ...

  5. ftp上传显示服务器错误,FTP文件夹错误:打开FTP服务器上的文件夹时发生错误

    问题描述:通过我的电脑或资源管理器连接FTP服务器时提示"FTP文件夹错误:打开FTP服务器上的文件夹时发生错误.请检查是否有权限访问该文件夹.详细信息:The operation time ...

  6. Qt三种方式实现FTP上传功能

    FTP协议 FTP的中文名称是"文件传输协议",是File Transfer Protocol三个英文单词的缩写.FTP协议是TCP/IP协议组中的协议之一,其传输效率非常高,在网 ...

  7. ftp 传输速度_ftp上传工具下载,8款优秀的ftp上传工具下载软件

    FTP上传工具现在有很多种,而且各有各的特点,至于FTP上传工具哪个好用呢?小编认为萝卜白菜各有所爱,看个人喜好,还结合服务器和各种功能方面的需求.小编用的就是iis7服务器管理工具,比较方便而且功能 ...

  8. 使用FTP上传数据到云服务器 CuteFTP和LeapFTP软件使用教程

    从本地向服务器上传大文件时通常需要采用FTP数据传输方式,本文整理了目前常用的CuteFTP和LeapFTP两款FTP第三方服务器软件,教大家如何将本地文件上传至服务器. CuteFTP软件下载 Le ...

  9. QT FTP上传文件

    QT FTP上传文件 两台电脑通过网线建立本地连接,保证网关在同一段: 服务器端打开ftp: 客户端网页测试远程访问: 客户端cmd测试远程访问: 客户端程序测试远程访问. 两台电脑通过网线建立本地连 ...

最新文章

  1. 顶级程序员的生活是怎样的? 网友: 很后悔, 找不到女朋友!
  2. mysql5.7解压版错误_mysql 5.7 解压版 安装net start mysql 发生系统错误 2
  3. 去重的Set解不出“斯诺登的密码”(洛谷P1603题题解,Java语言描述)
  4. 如何成为一名合格的数据科学家?这5个要点一定要掌握
  5. 【云速建站】按照给定模板从0开始编辑网站页面
  6. Spring boot 属性加载顺序
  7. UI实用素材|促销弹出设计
  8. 2012禁用ip隧道 win_IMCP协议的魅力——IMCP隧道
  9. 多任务应用系统构建模式
  10. 无线桥接正在获取ip问题,设置静态后又无法连接互联网,并且就算连接成功了也速度慢
  11. python粒子特效_初试PyOpenGL四 (Python+OpenGL)GPU粒子系统与基本碰撞
  12. Pycharm this applicatation failed to start because it could not find or laod the qt plaform plugin
  13. 懂你的心 愿您的笑颜永在阳光下挥洒
  14. Magento compare products ajax
  15. html获取微信code,微信授权获取code(微信支付)
  16. Android8.0以上打开相机并裁剪图片
  17. 应用拉氏变换分析线性电路
  18. sdwan不可替代cn2
  19. java小项目影院系统
  20. 红米note9和红米k30有什么区别 红米note9和红米k30哪个好

热门文章

  1. JavaScript 技术篇-使用js代码获取浏览器窗口标题名,js获取页面URL地址
  2. CTFshow 命令执行 web41
  3. 历届试题 快速排序:
  4. 无忧考吧2017二级java_无忧考吧二级JAVA超级模拟软件下载_无忧考吧二级JAVA超级模拟软件官方下载-太平洋下载中心...
  5. 微服务乱码_netcore 之动态代理(微服务专题)
  6. 第二十三讲 狄拉克函数(冲激函数)(补充)
  7. 老大难的 Java ClassLoader,到了该彻底理解它的时候了
  8. [error] OpenEvent(Global\ngx_stop_25184) failed (2: The system cannot find the file specified)
  9. poj 1270(toposort)
  10. bzoj 1010: [HNOI2008]玩具装箱toy 2011-12-27