在Qt里面,IO控制中(文件流、Socket)都会涉及到waitForBytesWritten,这个的意思是等待写完成,这个在Windows上一般是可以省的,不会出现问题,如下:

tcpSocket.write(HttpResponse::success(retBody).toUtf8());
tcpSocket.disconnectFromHost();
tcpSocket.waitForDisconnected();

在Linux上需要这样:

tcpSocket.waitForBytesWritten();
tcpSocket.write(HttpResponse::success(retBody).toUtf8());
tcpSocket.disconnectFromHost();
tcpSocket.waitForDisconnected();

在QSslSocket关于waitForBytesWritten如下:

 

重写QAbstractSocket,而QAbstractSocket

 

而这个QAbstractSocket重写IO设备类。

原文链接:https://it1995.blog.csdn.net/article/details/121760663

 进群领取qt开发学习资料以及技术交流  在下方↓↓↓↓↓↓↓↓

Logo

技术共进,成长同行——讯飞AI开发者社区

更多推荐