最近在网上找了一个使用QTcpSocket传输文件的例子,自己将其改成应答模式传输,在实验过程中发现,传输过程中服务端向客户端发送应答报文,客户端的readyRead信号突然触发不了,导致传输终止,经过调试发现是由processEvents()函数导致,QT新手,很多东西都了解的不是很深入,还没有去深究原因,在此做个记录。
上图是更新传输进度数据的槽函数,在槽函数最后又一句 qApp->processEvents(),将其注释后,传输一切正常,没有再出现传输突然中断的情况。
源码下载:https://download.csdn.net/download/weixin_37633951/11172612
vs2015+QT5.9