通用消息栈的构建

所有的跨进程通信或设备间通信,都离不开数据流的传输,在这里的数据流,一般指的是字节流。

因为涉及到了字节流的封装和解析,就需要消息栈的辅助,所谓消息栈,就是把要传输的结构化数据或调用过程,进行字节流化处理,再通过通信层的传输,实现远程传输。

要构建通用的通信栈,就需要了解一般的字节流封装,即信息封包处理,一般一个消息在封包时,都有传输标记位、数据位、校验位等,并且每个位,根据对应的消息处理来说都有唯一的解包处理流程。

如果能打造一个通用的消息栈处理,根据不同的封包协议去自适应需要的解包协议,这就可以实现消息层的独立和通用。

实际中解包过程通常都是对封包过程的逆处理过程,假设我们的消息需要做多次的封包消息处理,那么解包过程就是封包过程的弹栈处理,有了这个思路,我们需要增加一个协调器接口,这个东西的目的就是用来协调,封包入栈过程和解包出栈过程,这样在通信的两端,其实就可以看到与标准的网络传输协议一样的一层一层过程,而协调器就可以放在独立的配置中,这样当我想要一个新的协调器时,就去实例化一个协调器对象。

还有一种情况是,我们的通信对象往往是一些嵌入式设备或自动化仪表设备,他们有固定的协议,此时我们就可以构建半个协调器,只去构建解析部分的处理过程,在系统一初始化时,就是一个全栈过程。

以上纯属个人的经验和理论总结,具体的实现过程,正在设计,可能与标准的一些通信框架相违背。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值