由于公司项目涉及到相关技术,对于平常写WEB的技术人员来说对这人来说比较默生;为了让下面的技术人员更好地对这个协议的实施,所以单独针对这个协议进行了分析和设计,以更于后期更好指导相关开发工作。由于自己对网络这一块比较熟悉,之前也有过想法实现TJ/T808相关协议,只是一直没这个动力去做;恰好碰到这次机会顺更也动动手写下代码。
TJ/T808协议了解
其实看了一下这个协议,在设计上感觉有些不太合理,不过已经是国标的东西也没有什么可异议的;总体来说这个协议还是比较简单,以下是这个协议的基础部分:

为了方便所以截个图就算了,图上已经描述的协议的组成部门和一些主要细节;后面的基本就是一些具体消息体的技术,有需要的朋友可以看协议的详细文档。
设计
协议整体分为两大部分,消息头和消息体;在消息中还有一个相对处理工作比较的多信息,就是消息属性。所以在设计上主要分为以下几大部分:协议封装和解释,消息结构定义,消息体结构定义和消息体属性结构定义;部体结构设计如下:

为了达到更好的通用性,在设计上通过协议封装和解释接口和最终网络通讯环节隔离;这样在集成和开发上都具备比较高的灵活性。
IProtocolBuffer协议
首先我们需要一个规范来定义网络数据封装和解释,并且可以和网络处理层进行一个良好的隔离;这个协议接口的主要功能包括:组包,拆包,相关基础类型的读取和写入。
