在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

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐