- 博客(221)
- 收藏
- 关注
原创 鸿蒙OpenHarmony源码分析之分布式软总线:trans_service模块(1)/认证通道管理
trans_service模块基于系统内核提供的socket通信,向authmanager模块提供设备认证通道管理和设备认证数据的传输;向业务模块提供session管理和基于session的数据收发功能,并且通过GCM模块的加密功能提供收发报文的加解密保护。
2025-06-12 21:25:00
206
原创 鸿蒙OpenHarmony之分布式软总线coap_discover.c(四)
【代码】鸿蒙OpenHarmony之分布式软总线coap_discover.c(四)
2025-06-12 20:24:12
221
原创 鸿蒙OpenHarmony之分布式软总线coap_discover.c(三)
本文会分析到coap_discover.c中有关wifi事件的消息队列处理过程。
2025-06-12 17:37:27
321
原创 鸿蒙OpenHarmony之分布式软总线coap_discover.c(一)
coap_discover.c实现了基于coap的设备发现功能的细节。在之前说过coap_service.c在实现coap服务发现的前期工作中做了许多前期初始化功能和注册服务的工作,这些功能函数是调用nstackx_device.c提供的接口函数,而nstackx_common.c中的接口函数又调用coap_discover.c中提供的函数接口。所以在coap_discover.c中实现了具体的初始化细节,并且在这个文件中定义了发送设备信息服务和接收对端设备信息服务功能。
2025-06-12 15:43:45
48
原创 鸿蒙OpenHarmony之分布式软总线nstackx_common.c分析
上篇coap_service.c代码中基本上每个接口函数都调用了nstackx_common.c中的接口,最终nstackx_common.c中的接口函数再调用coap_discover.c中的接口函数。所以coap_service.c中的接口函数是对外提供的顶层接口,分析过程也是从顶层宏观调用到下层实现细节。
2025-06-12 14:42:51
141
原创 鸿蒙OpenHarmony之分布式软总线json_payload.c(四)
之前博客已经分析了cjson组织数据的细节– cjson数据组织细节。下面分析cjson数据的细节。至此关于cJSON的介绍和鸿蒙中使用cJSON组织服务发布数据和解析数据的细节分析完毕。鸿蒙应用开发与鸿蒙系统开发哪个更有前景?嵌入式开发适不适合做鸿蒙南向开发?看完这篇你就了解了~对于大前端开发来说,转鸿蒙开发究竟是福还是祸?鸿蒙岗位需求突增!移动端、PC端、IoT到底该怎么选?记录一场鸿蒙开发岗位面试经历~持续更新中……
2025-06-12 14:01:18
109
原创 鸿蒙OpenHarmony之分布式软总线json.payload.c(三)
在上篇博客分析了json_payload.c两个主要的函数–组织服务发布数据和解析服务发布数据 准备与解析数据。下面继续介绍其他功能函数,这些函数主要是组织和解析的细节。
2025-06-11 21:47:31
331
原创 鸿蒙OpenHarmony之分布式软总线json_payload.c(二)
Harmony使用cJSON格式来组织coap设备服务发现数据。在 cJSON介绍 对cJSON主要结构体和接口函数做了介绍。下面将分析Harmony如何利用cJSON组织和解析设备数据。
2025-06-11 20:30:15
191
原创 鸿蒙OpenHarmony之分布式软总线json_payload.c(一)
cJSON是用C语言编写的一个轻巧,简单的JSON解析器。/*指向后一项和前一项*//* 指向数组和对象内部条目 */int type;/* 元素类型. *//* 如果类型为string 那么值从valuestring 读取*//* 类型为Number整型 值从valueint读取 *//* 元素为Number浮点型,值从valuedouble读取 */int sign;/* 符号标志 *//* 键值key */} cJSON;
2025-06-11 17:34:50
306
1
原创 鸿蒙OpenHarmony之分布式软总线discovery_service.c(五)
【代码】鸿蒙OpenHarmony之分布式软总线discovery_service.c(五)
2025-06-11 16:42:45
251
原创 鸿蒙OpenHarmony之分布式软总线discovery_service.c(四)
【代码】鸿蒙OpenHarmony之分布式软总线discovery_service.c(四)
2025-06-11 15:34:27
88
原创 鸿蒙OpenHarmony之分布式软总线discovery_service.c(三)
【代码】鸿蒙OpenHarmony之分布式软总线discovery_service.c(三)
2025-06-11 14:37:40
164
原创 鸿蒙OpenHarmony之分布式软总线discovery_service.c(二)
在 发布服务与撤销已发布的服务 分析,本文将分析服务发布过程中使用到的其他功能函数。discovery_service.c 的发布服务。和 取消已发布的服务。
2025-06-11 13:40:05
162
原创 鸿蒙OpenHarmony之分布式软总线discovery_service.c(一)
在上篇博客中已经分析了discovery_service.h头文件,在这个头文件中声明了与设备服务发布相关功能和数据结构。本文分析了发布服务函数和取消已发布服务函数,它们所调用其他功能函数在之后进行分析。鸿蒙应用开发与鸿蒙系统开发哪个更有前景?嵌入式开发适不适合做鸿蒙南向开发?看完这篇你就了解了~对于大前端开发来说,转鸿蒙开发究竟是福还是祸?鸿蒙岗位需求突增!移动端、PC端、IoT到底该怎么选?记录一场鸿蒙开发岗位面试经历~持续更新中……
2025-06-10 21:39:03
369
原创 鸿蒙OpenHarmony之分布式软总线discovery_service.h头文件
discovery_service.h头文件提供与设备服务发布相关的功能,包括发布服务、取消发布服务、设置设备参数。当发现附近的多个设备并将其联网后,可以使用这些接口进行业务发布的相关操作。PublishFailReason 为发布失败的原因。发布失败的原因在发布失败后,会在发布失败回调函数输出原因。DataBitMap 为设备发布支持的功能。定义设备类型枚举和设备类型名称之间的映射。枚举设备信息,如其标识、类型和名称。定义了支持的功能和位图之间的映射。定义要设置的设备的类型和内容。
2025-06-10 20:37:12
327
原创 鸿蒙OpenHarmony之分布式软总线nstackx_device.c(二)
之前已经介绍了nstackx_device.c中用到的设备信息结构体以及在头文件中声明的功能函数。nstackx_device(一) 下面对函数定义进行具体标注。
2025-06-10 17:27:40
402
原创 鸿蒙OpenHarmony之分布式软总线nstackx_device.c(一)
在nstackx_device.h头文件中声明了设置、获取设备信息以及注册设备功能与服务数据。在nstackx_device.h头文件中,声明设备信息结构体。首先,在头文件nstackx.h中声明了远端与本地设备信息。
2025-06-10 16:39:11
780
原创 鸿蒙OpenHarmony之分布式软总线discovery/coap/source/coap_socket.c
coap_socket.c封装了服务端与客户端之间的socket操作。
2025-06-10 15:39:29
230
原创 鸿蒙OpenHarmony之分布式软总线coap头文件& coap组包分析
在discovery/coap/source/coap_adapter.c主要实现了COAP数据包的解析与组装。添加TOKEN,OPTION, DATA,创建coap报文主体。COAP协议用于分布式通信中主从服务设备发现。用于向一个coap数据包添加option。组包:创建头部和数据包主体。
2025-06-10 14:42:16
112
原创 鸿蒙OpenHarmony分布式调度详解|启动FA(3)
前两篇博客介绍了分布式任务调度的Service、Feature注册和Session会话数据解析,解析数据得到命令id后做出对应的动作,其中一个命令id对应的是启动FA设备。本文分析了FA启动的函数调用关系。首先,在启动前对ability信息进行权限检查和签名校验,之后通过SAMGR获取ams的FeatureApi接口来启动FA。鸿蒙应用开发与鸿蒙系统开发哪个更有前景?嵌入式开发适不适合做鸿蒙南向开发?看完这篇你就了解了~对于大前端开发来说,转鸿蒙开发究竟是福还是祸?鸿蒙岗位需求突增!
2025-06-10 13:41:36
217
原创 鸿蒙OpenHarmony分布式调度详解|会话消息解析(2)
上一篇博客介绍了Service和Feature的定义和注册,Feature注册并初始化后,由软总线发布,并创建一个Session会话,用于处理TCP数据。会话消息解析部分主要将byte数据保存为TlvNode格式的链表,并在转换过程中对数据做一些数据校验工作。鸿蒙应用开发与鸿蒙系统开发哪个更有前景?嵌入式开发适不适合做鸿蒙南向开发?看完这篇你就了解了~对于大前端开发来说,转鸿蒙开发究竟是福还是祸?鸿蒙岗位需求突增!移动端、PC端、IoT到底该怎么选?记录一场鸿蒙开发岗位面试经历~持续更新中……
2025-06-09 21:35:20
397
原创 鸿蒙OpenHarmony分布式调度详解|Service和Feature的定义和注册(1)
在进行分布式任务调度之前,首先要对分布式Service和Feature进行注册,注册Feature之前需要注册一个与之同名的Service,Feature才能注册成功。// 该定义实现了面向对象中构造函数的概念/*** INHERIT_SERVICE包含了所有Service都要有的成员* GetName():获取服务名* Initialize():初始化服务* MessageHandler():消息处理。
2025-06-09 20:29:12
490
原创 鸿蒙OpenHarmony分布式调度详解|dmslite_permission.c
本部分分析的代码位于。这个文件中的函数用于在任务调度过程中进行权限检查。其中执行主要的权限检查工作,仅针对FOUNDATION用户,用于调出获取需要检查的包信息。
2025-06-09 17:37:46
300
原创 鸿蒙OpenHarmony分布式调度详解|dmslite_pack.c
foundation\distributedschedule\dmsfwk_lite\source\dmslite_pack.c文件中主要是对数据处理的包装和整合,比如转换数据类型、改变数据存储方式(大端转小端)等处理。该文件中将整合后的数据存储在g_buffer中,并使用g_counter来做标记,供其他模块访问。鸿蒙应用开发与鸿蒙系统开发哪个更有前景?嵌入式开发适不适合做鸿蒙南向开发?看完这篇你就了解了~对于大前端开发来说,转鸿蒙开发究竟是福还是祸?鸿蒙岗位需求突增!移动端、PC端、IoT到底该怎么选。
2025-06-09 16:35:13
521
原创 鸿蒙OpenHarmony分布式调度详解|dmslite_msg_handler.c
foundation\distributedschedule\dmsfwk_lite\source\dmslite_msg_handler.c文件中包括两个函数:StartAbilityFromRemoteHandler()用于接收会话消息数据解析得到的启动FA的命令id,用于启动FA;ReplyMsgHandler()用于回复消息。该文件中主要包含一些对解析后的命令id的操作,目前只支持两种操作——远程启动ability和回复消息。鸿蒙应用开发与鸿蒙系统开发哪个更有前景?嵌入式开发适不适合做鸿蒙南向开发。
2025-06-09 15:33:37
267
原创 鸿蒙OpenHarmony分布式调度详解|dmslite_famgr.c
foundation\distributedschedule\dmsfwk_lite\source\adapter\dms\dmslite_famgr.c文件中主要包含一些启动FA的函数和操作。
2025-06-09 14:43:18
152
原创 鸿蒙OpenHarmony分布式调度详解|dmslite_tlv_common.c
用于转换 tlv 数据,处理 tlv 的结点情况,将不同类型的数据进行整合。
2025-06-09 13:42:37
239
原创 鸿蒙OpenHarmony分布式调度详解|dmslite_feature.c 源码分析
【代码】鸿蒙OpenHarmony分布式调度详解|dmslite_feature.c 源码分析。
2025-06-08 21:42:15
348
原创 OpenHarmony轻量系统服务管理|samgr_server功能详解(四)
前面的文章分析了两种资源类型的处理函数,即。三种操作类型的处理函数。
2025-06-06 20:21:43
305
原创 OpenHarmony轻量系统服务管理|samgr_server功能详解(三)
资源类型的函数,而它的处理又因为操作类型的不同而调用不同的函数。本篇文章接着继续分析。
2025-06-06 17:33:03
403
原创 OpenHarmony轻量系统服务管理|samgr_server功能详解(二)
【代码】OpenHarmony轻量系统服务管理|samgr_server功能详解(二)
2025-06-06 16:49:11
264
原创 OpenHarmony轻量系统服务管理|samgr_server功能详解(一)
实现代码在。#define MAX_SYSCAP_NAME_LEN 64 //系统能力名称的最大长度#define MAX_SA_SIZE 0x100 //sa中最大数目#define RETRY_TIMES 3 //重试次数#define RETRY_INTERVAL 1 //重试间隔#define MAX_SYSCAP_NUM_PER_REPLY 118//对于syscap,每次响应的最大数目//函数指针MSG_CLEAN, //清除数据}MsgId;//消息ID//继承服务端的代理。
2025-06-06 15:39:56
296
原创 OpenHarmony轻量系统服务管理|进程间通信的客户端代理详解(二)
【代码】OpenHarmony轻量系统服务管理|进程间通信的客户端代理详解(二)
2025-06-06 14:37:18
195
原创 OpenHarmony轻量系统服务管理|进程间通信的客户端代理详解(一)
上一篇文章讲解了高效、便携的工厂模式,并分析了如何使用工厂方式创建及销毁客户端代理的相关代码。在本文中进一步分析客户端代理的系列函数。相关代码实现位于。
2025-06-06 13:51:22
233
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人