使用QTCP套接字的服务器响应
我正在将我的代码连接到现有的服务器,并且我能够从服务器获得响应 但问题是响应的内容太大,无法用简单的方式处理 下面是我用来检索数据的一段代码使用QTCP套接字的服务器响应,qt,qtcpsocket,qtcpserver,Qt,Qtcpsocket,Qtcpserver,我正在将我的代码连接到现有的服务器,并且我能够从服务器获得响应 但问题是响应的内容太大,无法用简单的方式处理 下面是我用来检索数据的一段代码 socket->waitForReadyRead(1000); array = socket->readAll(); for(int i=0; i< array.size();i++){ //qDebug()<< array[i]; test += array[i]; }
socket->waitForReadyRead(1000);
array = socket->readAll();
for(int i=0; i< array.size();i++){
//qDebug()<< array[i];
test += array[i];
}
qDebug()<< "cmd Part 2: ";
socket->waitForReadyRead(1000);
array = socket->readAll();
for(int i=0; i< array.size();i++){
//qDebug()<< array[i];
test += array[i];
}
socket->waitForReadyRead(1000);
数组=套接字->readAll();
对于(int i=0;i //qDebug()waitForReadyRead读取我的for循环。有人能帮我吗?基本解决方案是:
while (socket->waitForReadyRead(1000))
{
QByteArray array = socket->readAll();
// do stuff
}
当读取超时或出现错误时(例如插座关闭),循环将退出.我想不太清楚您想做什么以及问题出在哪里。您知道您希望读取多少数据吗?是的,有很多。想象一下您正在检索一个包含100行15列的表。我必须反复重复上述代码,直到能够检索所有数据。@dunc123不仅如此,我必须让套接字等待每一次,然后再开始读取它。我可以像上面提到的那样检索所有数据,但我想通过将上面的代码放入for循环来简化它。