Прикладной протокол в моей системе выглядит так:
Это пример передачи — от клиента к серверу (в обратном направлении — всё то же самое, только клиент и сервер меняются местами):
-------------------------------------------------------------------------------------------------------------------
CLIENT's side | SERVER's side | Comments
-------------------------------------------------------------------------------------------------------------------
Marker_1 | | to Server: On the Client exist packet (message) to the Server
| Marker_2 | to Client: Server is Ready to recive packet (message) from the Client
{User's-Packet} | | to Server: transmitting of User's-Packet from Client to the Server
| Marker_3 | to Client: Success — packet (messege) correctly received and processed
-------------------------------------------------------------------------------------------------------------------
Marker_1,_2,_3 — это простые 10-ти байтные посылки (здесь проблем нет), а вот {User's-Packet} — ну точнее "блок_данных" — большой.
Были случаи, что около 30 килобайт (на JSON-варианте), теперь — с сериализацией через QDataStream — удалось выйти на размер менее 10 килобайт.