使用QTcpSocket进行网络通信编程时,我们希望在程序中可以阻塞等待readRead()信号的到来,这样可以达到我们的目的,正确的接收服务器发来的数据。
方法如下:
if(this->mpTcpSocket->waitForReadyRead()==false){
QMessageBox::warning(this,tr("Waring"),tr("Server does not response!"));
return ;
}waitForReadyRead()函数默认阻塞3秒,如果超过3秒,还没有数据发过来,就返回false,如果接收到数据,你就可以在这段代码下面接收数据了,其他的信号也可以用同样的方法阻塞。
本文介绍如何使用QTcpSocket的waitForReadyRead方法实现阻塞读取,确保客户端能够及时响应服务器的数据发送。该方法默认阻塞3秒,超时未收到数据将返回false。
4401

被折叠的 条评论
为什么被折叠?



