Loading...
一、前言原本一直使用的stepfunc/dnp3,但是库是rust开发的,再使用的到c的ffi,扩展起来太麻烦、太头疼了。最近因为新需求,就决定深入研究一下opendnp的代码,实现链路初始化的扩展。二、定位显而易见,类LinkContext维护了链路层的一个状态,包括FCB翻转、心跳测试、底层连接状态回调等等。发现如下函数,是在连接建立时触发的事件回调,因此我们增加链路初始化,可以考虑在这...
最近在研究DNP3.0相关技术规范(IEEE 1815)以及开源库OPENDNP和stepfunc/dnp3,收获颇多,记录一二。一、智能指针在翻阅opendnp源码过程中,发现对外接口大量使用智能指针(unique_ptr 和 shared_ptr),并通过移动语义(std::move)进行构造。在接口测试和研究过程中,初步了解了智能指针的所有权:作用域。二、接口与Qt的信号与槽在将ste...
并不擅长布局谋划和长线运营,就喜欢一个字:莽!出现问题后,往往需要临时搜寻解决办法,容易陷入焦躁情绪。话外:原以为个人博客系统出现了异常:CSS样式表错乱,在技术选型重构中突然发现恢复正常了,也是挺无语的。但是通过观察日志发现,一直有异常流量进行注入测试、目录遍历和密码爆破等攻击行为,后面还是采用较简单的、纯静态的方式来实现站点吧。
清风明月,趟过山河,无所留,亦无所踪。
一直有一种写一个DL101/104上位机软件的强烈冲动,期望能比较完美同时支持tcp客户端和服务端、udp、串口,但是本人技术太菜外加太懒,一直未付诸实践。直到最近在瞻仰opendnp3的源码时,发现其对传输层、应用层封装的甚合我意,大感相见恨晚。因此在剥析opendnp3源码的同时,将会逐步开始启动DL101/104上位机软件项目,并将整个学习过程记录下来,敬请期待。改上位机软件将具备如下...