Protobuf è una buona cosa, permette agli sviluppatori c ++ di non preoccuparsi della serializzazione della classe / deserializzazione, è veloce e il formato .proto è molto bello. Permette anche la convalida automatica dei dati. Ma i messaggi non sono leggibili dall'uomo e, soprattutto, non sono labirintici. Questo è un problema quando è necessario testare rapidamente la risposta a determinati stimoli da un server remoto.
La soluzione, come mi sembra, è di creare un messaggio protobuf, convertirlo in json tramite una libreria e inviarlo, usando la stessa libreria per deserializzare su protobuf sul server e tornare a c ++.
Sembra che otteniamo il meglio da entrambe le parole: convalida dei messaggi, generazione automatica della classe da file .proto e leggibilità di json. Certo è più lento, ma per la mia attività la velocità non è essenziale. Eppure, è sano di mente? Devo ammettere che ho poca conoscenza del networking e dei problemi che possono derivare dall'approccio descritto. Qualcuno può dirmi se ci sono problemi futuri?