二进制对象的反序列化

时间:2016-03-21 19:59:36

标签: .net

我正在构建一个数据记录器,它通过串行端口通过可变大小的字节帧接收数据,这些字节帧由设备使用某种序列化产生。我的目标是尽可能快地反序列化该帧(设备每50毫秒发布一个400 ... 500字节的帧。

框架结构看起来像那样。实际上要复杂得多!

  • 字节变量
  • 00 Value1
  • 01 Value2
  • 02 Value3
  • Value4的迭代次数为03 N(示例= 3) - 最大值为10
  • 04 Value4 Iteration 1
  • 05 Value4 Iteration 2
  • 06 Value4 Iteration 3
  • 07 Value5
  • 08 Value6

目前,我正在规范框架:在上面的示例中,如果值4的迭代次数为1,我将在第4次迭代后添加9个伪字节(使用List.InsertRange),所以我总能获得价值5& 6在同一个固定位置。

由于帧的复杂性,我必须在每帧(每50ms)调用.InsertRange大约10到20倍,因此性能非常差。

是否有一些特殊的方法来反序列化这些对象,哪种更有效? PS:这是我在StackOverflow上的第一个问题。希望它足够清楚:)

0 个答案:

没有答案