协议栈的开发

 无论是什么协议都可以分为两个部分来看.
一.静态的方面,parser和to string.
    协议字段本身的解析(parser):就是根据一个字符串转化为协议的结构体.
    和组包(to string):转化为字符串后才能发送.
    这两个是基本的.都要实现.
二.动态的方面,Transaction layer
    事务层的管理.也就是说包与包之间的关系.比如你发了一个Invite的时候,可能收到对方
Decline或者Accept消息.收到其他的消息都要不予理会(或者是与此项事务无关)如果超时了,还要
取消此项事务.也许可能有人会说如果我发invite的时候收到message消息传输文本怎么办?我要丢
弃吗?实际上你可以理解为这是两个并行的事务(message和invite).一般来说好的协议的包中都会
有call-id之类的属性行.用来标识属于一个事务.
事务的管理确切的说反映在编译原理上就是自动状态机的实现.
要根据收到的包判断状态可能的下一步走向.直至走到终结点.一个事务才算结束.
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值