考资料:
http://blog.csdn.NET/phunxm/article/details/5086080 应用层通信协议开发浅析
http://blog.csdn.net/chexlong/article/details/6974201 TLV 格式及编解码示例
找了一天资料,上面两个博客写得真心不错,还有源码对照。
这里说的协议,都是基于应用层的协议,一切应用层的“协议”说白了,就是“数据包的结构定义”。
至于TLV格式,就是Type-Lenth-Value 数据包里放数据,要么用定长,可么就用TLV这种可变长度的,其它深奥的不管。 定长的太浪费空间了。就用这种咯。
有关应用层协议,数据包的自我总结:
1. 应用层协议,就是 定义数据包的结构 的一种规格。
比如,定义一个 部标协议,规定数据包的格式为 包头+数据+校验码。采用TLV格式。
2. 数据包格式:(由协议规定的,以后我就统一使用下面这种常用格式)
1字节Start Flag + 2字节Length + n字节数据 + 1字节End Flag (最后这个 End Flag改成校验Flag也不错。。 以后要用时再考虑。)
start flag,lenth,end flag都是定长, 内容数据 采用 TLV格式,一个一个解析出来。
3. 在TCP通信中,数据包太大,网络会自动将之切割,到了目的地的时候会自己重组。 我们要做的时候就是 不断地从流中recv 包头中指定的长度 个字节就可以了。在读取的时候,注意不要读取太多。(串口通信就没这么方便了,我不会。不过公司里串口通信的数据包都好小。。)
4. 通信的双方约定好这种协议。将内容打包成数据包容易,将数据包解析成内容也容易。。( 打包和解析的目的要理解,打包就是一堆数据想要一次发送。 解析就是,从缓冲区一堆数据中,一条一条分析出来。。差不多这样子。。有时,也可以把一堆参数打包成一条字符串(其实这也是一个数据包), 也可以 把一条字符串,解析出一堆参数。。)
5.一个完整的数据包,就是一帧。。
以后学习网络编程,要发送数据包的时候再来实现。 先把上面两个网址的两个样例保存起来嘿嘿。
http://blog.csdn.net/a576323437/article/details/9668967
相关推荐
TLV解析工具 使用命令 python getTlVData.py pcap文件路径; 可以直接解析wireshark 抓包的工具
TLV 式通讯VC 6.0 动态连接库和测试工程实现类是SMGP 协议规定
NFC卡片识别后读取TLV格式的数据解析。一个完整的解析TLV数据的源码。
几乎所有的需要在卡片和终端之间传送的数据都是TLV格式的. PBOC文档里并没有对TLV编码细节做具体说明, 而EMV的手册里虽有叙述,但并不详细. 我下面就要很详细的分析TLV的编码格式并给出相应的TLV解码的伪代码
TLV 解析工具
详细讲解tlv变长协议
Java Tlv格式数据通用解析,支持各种T与L
java的TLV包的编码和解码,能够对Tag Length Value对应的值进行编码和解码。包内包含jar包和源码包,还有一个java写的带有详细注释的Demo
协议制定
c++实现tlv的编解码,使用multimap封装tlv容器,接口与stl标准容器保持一致,可读性和扩展性较好。
《应用层通信协议开发浅析》博文代码: 基于TLV的应用层协议开发示例。
一个EMV TLV格式解析器,它速度快且占用内存少。
TLV5620与MSP430接口原理与实现 MSP430F22X4驱动TLV5620的演示,MC430F224用户只要加于简单的修改就可以实现不同的模拟信号输出。例如,正弦波,方波.....;当然也是非常适合你的控制系统中应用
这是一个TLV解析工具,能够解析出Tag Length Value对应的值,包括源码。
BER-TLV格式编码:解码、编码源码。目前在很多行业都有应用。
这个源码是一个TLV格式解析功能案例,源码LJieTLVParser,可以解决TLV格式解析的问题,使用起来非常方便,感兴趣的朋友可以参考一下吧。
本Demo程序演示了利用XML(TinyXml库)和TLV格式打包,解包的性能比较。总结:使用XML,其打包包体可读性非常好,但性能不及TLV;使用TLV,其性能远要好于XML,但可读性较差。在VS2005环境下编译通过。
ti公司ad转换器TLV2553 TLV2556的MSP430驱动程序,亲测好用
msp430单片机外接tlv5620的控制驱动例程,可用于没有da模块的430单片机。
摘要:介绍了 TI公司生产的多通道12位串行A/D转换器 TLV2544/2548 点和工作原理,并结合开发实例,详细讨论了器件的工作模式选择及器件 给出了 TLV2544与 MCS-51系列单片机的应用接口电路和软件程序。