TLV协议

什么是TLV协议?

TLV,即Tag(Type)—Length—Value,是一种简单实用的数据传输方案。在TLV的定义中,可以知道它包括三个域,分别为:标签域(Tag),长度域(Length),内容域(Value)。这里的长度域的值实际上就是内容域的长度。
但是传输过程中有问题!!!
传输是用字节流传送的!!!(16位的字节)

问题1,数据可能重合!
加报头
问题2,数据可能会跳变!
加CRC校验
问题3,包头可能在TLV中!
加CRC校验

buf定义在函数里面,是局部变量,数据存在栈中,可以用malloc,但是麻烦!
buf定义在函数外,但不可重入,不能用多个进程同时操作!
buf里面的函数要传到函数里面,操作函数就可以传buf!
pack(buf, sizeof(buf), cmd)
还要判断buf是否合法
if( !buf || sizeof(buf)<0)

猜你喜欢

转载自blog.csdn.net/Shallwen_Deng/article/details/88930288