首先,这个解码器能够对TLV格式描述的消息进行解码。在这个TLV格式中,T和L都是可选项。比如在很多通信协议中,都是直接消息元素后跟着消息元素,没有T和L来进行限制的。
然后,要说明的是这个解码器是用DLL提供出来。如何使用,请参考Bin.rar里面的readme。
接着,要说明这个解码器是我用业余时间编写的。里面的代码和设计文档及其丑陋。本来是搞的玩的一个东西,可是后来发现运行居然还挺稳定,也挺好用(曾经成功用于2种通信相关消息的解码),于是就补丁加补丁地维护了下来。如果有人对这个解码器的源码感兴趣,可以下载src.rar。里面有相关的文档。
为了帮助对这个工具感兴趣的朋友,我说明一下这个工具的开发背景。
当时做这个工具,是为了对基于[T][L]V结构的消息流来进行解码。这个工具又想和具体的消息定义分开。这样,对不同的协议的消息结构,只要更新协议栈就可以,而解码器不用变化。这样,解码器TLVDecoder.dll就诞生了。同时,为了让消息的协议栈的编写能够让非专业人员也能够进行,所以采用了在mdb数据库中编写,然后用一个转换工具转换为二进制的协议栈的方式。这样,createprotocol.exe诞生了。最终,消息可以分开在多个.mdb文件中进行编写,并用createprotocol.exe这个工具把它们组装起来。不过这种编写消息库的方式现在看来,也不算太好的方式。估计没有谁有性子看完messagerule.doc,并自己尝试一下,虽然我的经验是,通过2个小时的培训,一个经验为0的朋友就可以开始编写自己的消息库了。
由于各种原因,对这个工具的重写一直没有能够进行,现在看起来也不会再进行了。所以虽然丑陋,也就拿出来了。如果能够对谁有帮助,那就是我的万幸了。
下载链接:
二进制:/Files/bigstone1998/TLVDecode_bin.rar
源码:/Files/bigstone1998/TLVDecode_src.rar
祝你好运