我正在通过C/C 应用程序通过UDP接收数据。该应用程序正在将课程的记忆纳入缓冲区,并将其投入我们的方式。我们的应用程序是用C#编写的,我需要以某种方式理解数据。我们可以访问结构的标头文件 - 一切基本上都是结构或枚举。我们无法更改数据的格式,并且标题文件可能经常更改。
我已经考虑在C 上重写我们的通讯课程以接收数据,然后我对其序列化有了更多的控制,但这将需要很长时间,而我的C 是生锈的,更不用说我没有C 线程的很多经验,这是必需的。
我还创建了一些C 库,其中使用C#访问的标头文件,但是我无法完全围绕我在C#本身中的实际创建和使用类的实际实例(每个)的实际实例(每一个)我要研究的时间,我看到的只是外部功能调用,而不是外部类型的使用)。
我还研究了编组。但是,由于数据可能经常更改,因此我认为这是最后的度假胜地,并且感觉非常手动。
有人知道任何选择还是对此事有任何有针对性的阅读或建议?
为什么不在两端(即C 和C#)上使用Google协议缓冲区。您将采用C 定义,让PB为您进行所有序列化。
协议缓冲区是Google的语言中立,平台中性的,可扩展的结构化数据的可扩展机制 - 想想XML,但较小,更快,更简单。您定义了希望数据结构一次的方式,然后可以使用特殊生成的源代码轻松地编写和从各种数据流以及使用各种语言来编写和读取结构化数据。更多...
即使原始类型对话通常是一个问题,它也可以在不同的OSS上工作。