Мне сложно выбрать формат, с которым свяжутся мой сервер и мои конечные точки.
Я рассматриваю:
- JSON
-
YAMLСлишком сложно разобрать - CSV
- Google Protobufs
- Двоичная упаковка/распаковка (без использования литья /memset/memcpy для обеспечения переносимости)
- Некоторая форма DSL
- Любое другое предложение, которое вы могли бы иметь
Мои критерии упорядочены от самого важного к минимуму:
- Что проще всего анализировать?
- Какой самый быстрый для анализа?
- Какой из них самый маленький в байтах?
- Что может иметь самые читаемые сообщения?
- Что может быть легче зашифровано?
- Что может быть легче сжато?
ИЗМЕНИТЬ, чтобы уточнить:
- Переданы ли данные двунаправленными? Да.
- Что такое физический транспорт? Ethernet.
- Являются ли данные форматированными как пакеты или потоки? Оба, но обычно пакеты.
- Сколько оперативной памяти у конечных точек? Наименьшая возможная величина, отменяет формат, который я выбираю.
- Насколько велики ваши данные? Насколько это необходимо. Однако я не буду получать огромные массивы данных.
- Есть ли в конечной точке RTOS? Нет.