pjsip协议栈的一些个人总结

本文分享了作者对pjsip协议栈的学习体会,指出代码整体易于理解,但初期可能存在理解难度。文章从代码结构和处理逻辑两方面入手,详细介绍了endpoint、module、transport的角色和关系,并提醒读者注意RFC标准与代码实现的联系。同时,讨论了transport中TCP和UDP的实现,以及module的优先级处理机制。
摘要由CSDN通过智能技术生成

最近在看pjsip关于协议栈部分的代码,在CSDN上也找到了一些介绍资料

现在将个人的一些理解分享下,可能和官方的一些说法有些差异

但也是个人在某个角度的看法,希望可以给后面需要用到的朋友提供一点帮助。

先吐点口水:

总体来讲pjsip的代码还算好理解,至少比我们自己写的业务代码要好看多了。

只不过刚开始接触的时候,会有点感觉无从下手,尤其是提供的那个帮助手册,说的概念有点多,反倒把人给绕晕了。

另外其代码风格和逻辑有点别扭,个人觉得有下面几个原因:

1、硬套RFC标准里面的概念。ps:拿代码和标准文档对照着看,还是挺有帮助的。

2、之前作者是C++开发的协议栈,转换成C后,有些套路仍旧是C++的风格。

3、不是一个人开发全部,不同的人毕竟还是有不同的细节,比如说evsub。

4、思维差异,个人觉得国内的程序员在开发时,思维偏业务逻辑,线性的,一环套一环。

     老外的偏代码架构,层级的。

————————————————————————————————————————————————

口水吐完进入正题。

理解pjsip协议栈这部分的代码,可以从两个维度着手:一个是代码结构,一个是处理逻辑。

一、从代码结构上走,endpoint是其总入口、根节点、主线、扛把子,以及之类的,

通过其展开了两个子节点(理解上的划分,不是代码的实际处理):module和transport

1、module用于处理SIP消息结构,

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值