Ты уверен, что у тебя ошибка UnexpectedElementError а не PrematureEndOfDocumentError?
Судя по твоей проблеме у тебя именно PrematureEndOfDocumentError, а это говорит о том что данных доступных для чтения не достаточно для завершени XML конструкции. В этом случае выходи из IncomingDataXML, на след. заходе дочитаешь оставшиеся.
Клевые идеи! Прям как по заказу...
Тем не менее я решил их проверить.
Сначала ты предположил что я не правильно диагностировал ошибку а потом ты сделал вид что я с етим согласился.
И так ты утверждаемый что данных слишком много чтоб за раз их можно было принять.
Значит увеличим буфер приема в сокете.
Сначала я сделал так
Sok->setReadBufferSize(165536);
эт не помогло.
Данные обрывались в самом начале(как и было до етого)
и текстовый бокс гласил
StartDocument
StartElement
Name: GAME Value:
тогда я увеличил до 111165536 -не знаю сколько ето но много!
Не помогло!
тогда решил уменьшать
и только кода поставил 20
картина хоть как-то изменилась
пришло
StartDocument
Invalid
StartElement
Name: GAME Value:
StartElement
Name: Value: 1485
и тут та я согласился что проблема связанна с приходом данных.
поставил брек поинт, и действительно данных слишком много,
и они приходят или считываются - кусками.
уменьшил объем данных до 5 кб
эт не помогло.
на след. заходе дочитаешь оставшиеся.
эт ты се как представляеш ?у меня же QXmlStreamReader !
а если у меня несколько вложенных циклов которые что-то инициализируют.
Притом раз в 6-9 раз данные приходят нормально - разом.
Пнятно что ничего не понятно.
Ошибку определяю так
int z=0;
while(!rd->atEnd() || (z = rd->atEnd()))
{
int i = rd->atEnd();
QMessageBox::about(0,"AAAAAAAAAAAA",QString::number(z));
то есть циферка 1 говорит что ошибка UnexpectedElementError
Ну а на запрос
QMessageBox::about(0,"AAAAAAAAAAAA",rd->errorString());
вернулась фраза
Expected character data
Есть идеи?