Здравствуйте, уважаемый Pzz, Вы писали:
Pzz>А зачем сначала анонсировать наличие блока, а лишь потом его посылать? Что добавляет предварительная договоренность, кроме сложности?
Передающая сторона имеет уверенность, что на приемной стороне готовы принять блок данных.
Добавляет сложности — есть такое немного
Добавляет уверенности, что в случае большой загрузки CPU приёмной стороны, передающая "повременит" с отправкой основного пакета,
дожидаясь, пока на приёмной стороне не закончиться выполнение предшествующей задачи и не освободятся вычислительные мощности.
AG>>Были случаи, что около 30 килобайт (на JSON-варианте), теперь — с сериализацией через QDataStream — удалось выйти на размер менее 10 килобайт.
Pzz>А у этого QDataStream унутренность документирована? Не получится ли так, что теперь вы к Qt намертво привязаны в т.ч. форматом данных?
1) Исходники всего Qt имеются и разобраться с ними (для специалиста, знакомого с C++) не составит большого труда.
2) Да, есть тот фактор, что я привязаываю проект к фреймворку Qt. К наиболее богатому и продвинутому из имеющихся на сегодня C++ фреймворков.
Этот момент также даёт дополнительные бонусы:
— мне и администрации нашей конторы легче найти новых девелоперов на проект. Т.к. C++ и Qt популярны в условиях минского рынка IT;
— при разработке на Qt легче найти ответы на вопросы (чем на более экзотических новомодных языках/технологиях);
— в едином стиле можно разрабатывать весь комплекс ПО: клиент, сервер, Data-base layer и т.д.