Добрый день!
В качестве клиента использую описанный в примерах QT ClientSocket, наследующийся от QSocket. Все работает нормально, пока принимаются небольшае блоки данных. Когда же попробовал принять текст размеров в 1Мб, то получил, что он принимается блоками, где по 4Кб, а так как этот текст является xml-скриптом, то, естественно, при попытке обработки возникает ошибка, т.к. вместо одного цельного текста программа пытается обработать кучу "нарезок".
Как определить, что принят весь блок? Вот описание функции readClient()
void ClientSocket::readClient()
{
QString text;
QTextStream ts( this );
text = ts.read();
if (text.length() > 10)
emit getText(this, text);
}