Sto per avviare un progetto per connettere due programmi, uno in C# e uno in C++. Ho già un programma C# funzionante, che è in grado di parlare con altre versioni di se stesso. Prima di cominciare con la versione C++, ho pensato di alcune tematiche:Buffer di protocollo, ottenendo C# per parlare con C++: problemi di tipo e problemi dello schema
1) sto usando v1 protobuf-net. Prendo i file .proto dal serializzatore sono esattamente quelli che sono richiesti come modelli per la versione C++? Una ricerca su google ha menzionato qualcosa sulla custodia pascal, ma non ho idea se sia importante.
2) Cosa faccio se uno dei tipi .NET non ha una controparte diretta in C++? Cosa succede se ho un decimale o un dizionario? Devo modificare i file .proto in qualche modo e schiacciare i dati in una forma diversa? (I esamina i file e vedere se riesco a capirlo)
3) Ci sono altri trucchi che le persone possono pensare? Formati binari e cose del genere?
EDIT ho avuto uno sguardo a uno dei file di proto ora. Sembra che le cose specifiche di .NET vengano taggate ad esempio bcl.DateTime o bcl.Decimal. I sottotipi sono inclusi nelle definizioni di proto. Non sono sicuro di cosa fare con i tipi di bcl, però. Se il mio C++ prog vede un decimale, che cosa farà?
Non sono sicuro di quello che la distinzione è? Ho usato Serializer.GetProto per ottenere una stringa, che era perfettamente leggibile e sembra un file .proto. –
Carlos