opendnp扩展之增加链路初始化报文
一、前言原本一直使用的stepfunc/dnp3,但是库是rust开发的,再使用的到c的ffi,扩展起来太麻烦、太头疼了。最近因为新需求,就决定深入研究一下opendnp的代码,实现链路初始化的扩展。二、定位显而易见,类LinkContext维护了链路层的一个状态,包括FCB翻转、心跳测试、底层连接状态回调等等。发现如下函数,是在连接建立时触发的事件回调,因此我们增加链路初始化,可以考虑在这...
一、前言原本一直使用的stepfunc/dnp3,但是库是rust开发的,再使用的到c的ffi,扩展起来太麻烦、太头疼了。最近因为新需求,就决定深入研究一下opendnp的代码,实现链路初始化的扩展。二、定位显而易见,类LinkContext维护了链路层的一个状态,包括FCB翻转、心跳测试、底层连接状态回调等等。发现如下函数,是在连接建立时触发的事件回调,因此我们增加链路初始化,可以考虑在这...