Доброго времени суток.
Есть последовательность байт.
Выглядит примерно так:
02 01 08 00 00 01
Это самый минимальный пакет, который может придти для разбора.
Содержит он в себе следующую информацию:
02 - номер группы объекта
01 - адрес объекта
08 - идентификатор пакета
00 - команда на чтение
00 - с нулевого байта
01 - считать один байт
Вопрос. Как организовать парсинг пакета?
Первая мысль - Идти побайтно
for (int i = 0; i < arr.size(); i++) { // QByteArray arr;
switch (arr.at(i)) {
case 02: {
//
}
И вот что дальше делать? Ну хорошо, скажем, запишу я в переменную номер группы, ну и так далее. Каждый байт в свою переменную, скажем int group, address, id, comand, number, count;
А потом дальше строить функцию, который по новой будет обрабатывать эти значения, опять же через свитч?
В общем, мозг мой совсем дальше отказывается соображать. ПРошу вашей помощи.