恭喜,你发布的帖子
发布于 2021-11-18 07:51:48
25楼
之前已经通过自定义协议实现了任意数量局域网节点之间UDP的可靠传输,效果很好。
但目前只是单包传输,没有实现包序列和大块传输,一次不能传输大于1472字节。
看了软总线的底层介绍,意识到其实这不难。只要在现有帧结构的报文头中加入最多3个字段,收发单元分离,上层加一个packet manager/dispacther即可。这样基本等于流传输。
鸿蒙OpenHarmony的分布式软总线使用CoAP协议(RFC7252)进行设备发现。被发现者通过注册订阅,并监听发现者的多播信息即可实现设备主动发现。
CoAP的底层传输也是UDP,支持多播。支持数据重传、包序列、块传输等。鸿蒙中CoAP的包传输是被压缩的,在两端原位编码和解码,优化了包大小,节省RAM。大多数物联网设备资源受限,RAM、ROM空间小,没法支持完整的TCP/HTTP协议。开放原子基金会的OpenHarmony代码用C写的,CoAP的标准传输数据包结构如下
请填写推广理由:
分享
只看
楼主