QTCPSocketから読み取る次のコードがあります。
QString request;
while(pSocket->waitForReadyRead())
{
request.append(pSocket->readAll());
}
このコードの問題は、すべての入力を読み取り、最後に30秒間一時停止することです。(これがデフォルトのタイムアウトです。)
長いタイムアウトを回避し、入力の終わりに到達したことを検出する適切な方法は何ですか?(これはスレッド内で同期的に発生することになっているため、シグナルを回避する回答が推奨されます。)