【各种协议】TLV

TLV协议

TLV,即Tag(标签域)-length(长度域)-value(内容域),是一种简单实用的数据传输方案。它是一个简单的自定义通信协议。

数据的发送过程其实就是打包的过程,目的是将一个从终端上发的请求数据——字节数组构造成一系列的TLV结构实体。

一个TLV消息由一个消息头和一个或多个消息体组成。

LV消息头
struct TLV_HEAD  
{
		int		length;		// TLV消息总长度,即消息头和消息体总长度
		short	version;	// 消息版本号
		short	commandID;	// 命令类型
		int		seqence;	// 消息序列号(从1开始递增)
		char	checkNum[16];	// 消息检验
}

// TLV消息体
struct TLV_BODY
{
		short		type;	// value的类型
		short		valueLength;	// value的长度
		char		value[0];	// 消息体内容
}

你可能感兴趣的:(Linux下C编程)