Буферы протокола были бы хорошим вариантом здесь. Что касается C #, я бы порекомендовал Jon Skeet dotnet-protobufs для этого варианта использования, поскольку он имеет одинаковый API с обеих сторон (его версия C # является портом версии Google Java, являющейся частью Распределение ядра). Если вы хотите, чтобы C # был более «типичным .NET», тогда protobuf-net может помочь.
(формат проводов между версиями явно идентичен; API может отличаться)
Маленький, быстрый, эффективный, портативный .
Для справки, я знаю , что protobuf-net поддерживает .NET 2.0; Честно говоря, я не пробовал это на версии Джона, но я ожидаю , что это было бы - не так много, что вам нужно для 3.0 / 3.5 в protobuf. * 1017 *