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