接触物联网以后,对协议有了更深的理解
例如物联网里,利用netty组件进行沟通的二进制协议,一般是纯私有协议,怎么标识消息头,消息体,消息长度都是自己定义
消息到达之后,需要自己去找到一条完整:判断出包头,包长,拿出一个完整的消息报文做解析,这种报文就是二进制,不直观,不能自翻译
常见的json格式也是一种协议,这种协议的报文,就肉眼可读,也就是传送报文的时候,就携带了自定义
一个我的理解,说这个是因为需要调研protocol buffer,明白了protocol buffer的用法后
又回头搜索了对私有协议的encode和反解的一些工具,有这个问题也是需要有积累的,
这是我进的第二家物联网创业公司,在最开始,都是两眼一抹黑,第一次从硬件开始,辛苦的写了一套自己实现的二进制编码和解码工具
技术调研很重要呀,动手解决问题前,多给自己一点时间,去想想会不会有现成的解决方案了,方案可不可行,多个方案比较
这不,这家公司的第三版协议,就想使用成熟的协议编码解码工具 protocol buffer
好了 上链接吧
预先知识:序列化和反序列化:
这篇主要是讲解了java中序列化的原理和使用场景java序列化与反序列化全讲解
这篇主要是讲解A端到B端的序列化和反序列化,就有协议的内容,还有几种协议解码编码工具
序列化和反序列化
这篇也对比了序列化反序列化的工具,以及RPC协议和http协议