Привет, эксперты. Нужно придумать какой-нибудь протокол обмена между клиентом и сервером по сетке (транспорт TCP).
Данные гоняются всякие разные:
- Авторизация клиента на сервере по логину-паролю
- Получение клиентом настроек некоей «системы» с сервера
- Отправка команд клиентом на сервер (сделай то-то, поменяй настройки такого-то компонента «системы»)
- Получение клиентом различных списков с сервера (события, ошибки, отчеты)
- Получение клиентом данных о состоянии компонентов системы (числа, графики)
- Получение клиентом документов с сервера (текст отчетов)
Может что-то еще, о чем я забыл упомянуть.
Протоколы обмена, с которыми сталкивался, обычно были сделаны довольно топорно, в стиле: номер байта где что-то полезное_количество полезного_полезное_какая-нибудь контрольная сумма.
Соответственно, может есть какие-нибудь банальные инструменты и популярные подходы, которыми решаются подобные задачи? Пока смотрю в сторону отправки данных в формате json или xml, слать в виде: пара байт на длину сообщения_тело сообщения (json или xml). Возможно, в будущем этот трафик надо будет шифровать.