我有一个用于进程间通信的自定义协议。有约。 400-500条消息都带有自定义有效负载。消息都有唯一的消息ID(单词),但就是这样。 c结构定义每条消息。
几乎所有消息都有结构中一个或多个字段的自定义枚举。
我得到的消息日志中有数以千计的这些消息,而且我想编写一个运行速度相对较快的解码器,而不是完全无法维护。
我查看了编写自定义应用程序并将解码结构存储在ms访问数据库或其他内容中。这非常缓慢,并且受到同时解码数量的限制。我也查看了xml,但在我的小测试中再次进行翻译很慢。
我很想使用像wireshark disector这样的东西,但这些不是网络数据包......只是一个大字节数组。
非常感谢任何想法/建议。
答案 0 :(得分:0)
如果您的目的是寻找统计数据,那么更快的方法可能就是在IPC层本身添加数字统计数据。因此,当发送方发送类型为X的IPC数据包时,它会增加一个计数器stats_sent_X和一个类似的接收方簿记。
另一方面,如果你想查看日志的内容,那么更简单的方法是简单地读取日志文件,将其拆分为标记,识别与IPC枚举值相关的标记和然后阅读它。