文件传输使用循环语句进行多次连接和发送时程序就会无响应,然后就会出现图片中的问题,要怎么解决才好?
为什么要多次连接?连接一次成功后,用得到的socket发送就可以了。如果多次连接,加上你多次调试程序,会把端口的链接数占满的,链接数占满后再去连接就会失败。
而且,图片中明确告诉你了,“正在连接或已连接到192....时又调用了connecttohost”,不就是这个意思吗
如果可以确保自己的QT程序写的没有什么问题,那 exited with code 0最可能的原因就是自己的工程路径中有中文,所以要注意QT文件路径中不要有中文。
如果是程序运行过程中异常退出了,有可能是数据计算量太大,把程序卡死了,这时候可以用qDebug()来查看到底是哪里除了问题。当然如果发现程序运行结果和自己想的效果不一样也可以用qDebug()来看有没有进入指定的函数。
//头文件
#include <QDebug>
//函数
qDebug()<<"hello";
文件已经打开,你是怎么传输的呢,重复传输文件了?之前的文件没有关闭
你这个很明显是因为打开次数太多,又不关闭导致的,文件一般打开一次,不断读写就好,读写完再关闭
连接也是一样,每次连接成功,将数据写完,可以关闭,或者继续写,总之不管写没写完,重连之前都是要关闭的
做事情要有始有终,写代码也是一样的,如果没有终,大概率是人家帮你做了,你不知道