Я пишу анализатор пакетов данных, приходящих от com-порта. Данные приходят по запросу компьютера. Меня интересует как делают другие люди разбор пакета для отправки и приема?
Вот мой пример создания пакета для последующей отправки.
Код
void createPacket(unsigned char packet[])
{
packet[0] = HEAD;
packet[1] = data_1;
packet[2] = data_2;
packet[3] = data_3;
for (int i = 4; i < 6; i++)
packet[i] = 0xFF;
}
{
packet[0] = HEAD;
packet[1] = data_1;
packet[2] = data_2;
packet[3] = data_3;
for (int i = 4; i < 6; i++)
packet[i] = 0xFF;
}
Мне он не нравится тем, что если протокол поменяется, то нужно будет переписывать код во всех местах, где упонимается packet[].
Да и как-то не слишком красиво получается, если использовать magic number.
Может можно как-то по другому сделать?