我将我的代码连接到现有服务器,我可以从服务器获得响应。
但问题是响应的内容太大而无法以简单的方式处理。
现在,下面是我用它来检索数据的代码段。
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];
}
我在使用for循环简化上述代码时遇到了问题。
我不知道如何在for循环中实现socket-&gt; waitForReadyRead。有人可以帮我这个吗?
答案 0 :(得分:1)
基本解决方案是:
while (socket->waitForReadyRead(1000))
{
QByteArray array = socket->readAll();
// do stuff
}
当读取超时或出现错误(例如套接字关闭)时,循环将退出。