ES
У меня протокол был в виде классов хотя можно и без них т.к. любая абстракция , удар по производительности... с примерно таким интерфейсом
class testprotocol_command {
...
virtual void * pack() const = 0;
};
class testprotocol_hello: public proto_command {
struct {
const char[21] = "Hello mytest protocol";
} cmd_struct;
char * pack();
char * unpack();
};
тут всё конечно очень просто...🤓