做通信协议开发都两年了,个人对协议开发的看法:
1.什么是协议
个人认为:协议就好比人与人的交流,比如对方问你吃饭了吗,显然你如果回答说:我看电视了,那么消息就会被你过滤掉,也就是容错处理
2.开发协议的步骤
1.设置好状态机
比如说打电话:甲给乙打电话:甲拨电话是一个状态(初始化状态)
乙接到电话回给甲方一个接通(电话接通状态)
双方通话
挂机
2.定好数据传输结构
一般好的数据传输结构封装性高,最好是基于字节的,如果用字符串的话,这样编解码效率是非常低的
我认为好的编解码解构也是经常用的:
TLV格式,分为固定部分,可选部分,TLV:T:ta, L:length, V:value,这再isup协议和sccp,其实在大部分通讯协议中都会使用到这种结构
欢迎大家指正,讨论,刚写博客表述可能不完整