当前位置: 首页 > news >正文

用微信公众平台做分类广告网站出售友情链接是什么意思

用微信公众平台做分类广告网站,出售友情链接是什么意思,河北汉佳 做网站的公司,网络服务提供者发现未成年人目录 1.概述 1.1.开源项目的意义 1.2.开源项目对软件行业的促进作用 1.3.小结 2.OpenHarmony 2.1.技术架构 2.2.分布式软总线 2.2.1.架构 2.2.2.代码介绍 2.2.2.1.代码目录 2.2.2.2.说明 2.2.2.3.发现组网和传输 2.2.2.3.1.发现 2.2.2.3.2.组网 2.2.2.3.3.传输…

目录

1.概述

1.1.开源项目的意义

1.2.开源项目对软件行业的促进作用

1.3.小结

2.OpenHarmony

2.1.技术架构

2.2.分布式软总线

2.2.1.架构

2.2.2.代码介绍

2.2.2.1.代码目录

2.2.2.2.说明

2.2.2.3.发现组网和传输 

2.2.2.3.1.发现

2.2.2.3.2.组网

2.2.2.3.3.传输

3.开源地址


1.概述

开源项目(Open Source Project)指的是源代码公开、用户可以自由使用、修改和分发的软件项目。开源项目通常以某种开源许可证发布,确保了源代码的自由使用和传播。常见的开源许可证包括GNU通用公共许可证(GPL)、MIT许可证、Apache许可证等。

1.1.开源项目的意义

1. 促进创新:开源项目的源代码是公开的,任何人都可以审视、理解并在其基础上进行创新和改进。鼓励了技术的快速迭代和发展。

2. 协同合作:来自世界各地的开发者可以共同协作,贡献他们的技能和知识,从而推进项目的发展。

3. 教育资源:开源代码是学习编程和软件开发的绝佳资源。学生和新手可以通过阅读和分析这些代码来提高自己的编程技巧。

4. 透明性和信任:由于源代码是公开的,用户可以检查代码中是否存在恶意行为、漏洞或其他问题,从而增加了对软件的信任度。

5. 降低成本:开源软件通常是免费的,可以显著降低企业和个人的使用成本,同时避免各种专利和版权纠纷。

1.2.开源项目对软件行业的促进作用

1. 加速技术进步:开源促进了技术的共享和交流,加速了技术进步。一些重要的技术领域,例如操作系统(如Linux)、数据库系统(如MySQL)、编程语言(如Python)、大数据平台(如Hadoop)等,都有大量成功的开源项目。

2. 增强市场竞争:开源项目降低了进入门槛,让更多的小公司和初创企业能够进入市场。推动了整体行业的进步和创新。

3. 标准化:许多开源项目成为了行业标准,帮助建立和推广了技术标准,减少了不同系统之间的兼容性问题。

4. 社区支持和生态系统:强大的开源社区提供了广泛的支持和资源,如文档、论坛和教程,为开发人员提供了丰富的学习材料和解决问题的途径。

5. 促进开发者成长:参与开源项目可以帮助开发者积累实际经验,提升技能,增加曝光和就业机会。

6. 推动开源商业模式:虽然开源软件本身是免费的,但推动了包括技术支持、咨询服务、定制开发及托管服务等在内的新商业模式。

1.3.小结

开源项目不仅贡献了大量高质量的软件资源,而且还通过打造开放、共享的生态系统,为整个软件行业带来了巨大的活力和创新动力。

2.OpenHarmony

OpenHarmony是由开放原子开源基金会(OpenAtom Foundation)孵化及运营的开源项目,目标是面向全场景、全连接、全智能时代、基于开源的方式,搭建一个智能终端设备操作系统的框架和平台,促进万物互联产业的繁荣发展。

基于OpenHarmony的HarmonyOS总装机量已经超过了8亿。HarmonyOS原生应用已超过4000。预计在6月21号的华为开发者大会上,会发布HarmonyOS NEXT版,不再兼容安卓应用。

另一个具有代表性的OpenHarmony发行版KaihongOS,是面向全场景的万物智联技术底座,在OpenHarmony基础上技术创新和系统能力增强,深开鸿打造丰富KaihongOS产品矩阵,助力千行百业数智化转型,引领行业变革,构建万物智联新时代。是由原华为终端BG软件部总裁(现任深开鸿CEO)王成录牵头打造。

OpenHarmony在GitCode的地址:GitCode - 全球开发者的开源社区,开源代码托管平台

2.1.技术架构

OpenHarmony整体遵从分层设计,从下向上依次为:内核层、系统服务层、框架层和应用层。系统功能按照“系统 > 子系统 > 组件”逐级展开,在多设备部署场景下,支持根据实际需求裁剪某些非必要的组件。OpenHarmony技术架构如下所示:

详细介绍可参考第2章的GitCode链接。 

2.2.分布式软总线

这里我们选择分布式软总线来进行说明。

分布式软总线在GitCode的链接:GitCode - 全球开发者的开源社区,开源代码托管平台

在现实生活中,设备之间的通信方式多种多样,比如WIFI和蓝牙等,这些不同的通信方式在使用上存在较大差异,易导致各种通信问题。此外,还面临设备间通信链路融合共享以及冲突无法解决等挑战。分布式软总线通过实现近场设备间统一的分布式通信管理能力,提供一种不区分具体链路的设备发现、连接、组网和传输的通用能力。其主要功能如下:

1. 发现连接:提供基于WIFI、蓝牙等多种通信方式的设备发现和连接能力。
2. 设备组网:提供统一的设备组网和拓扑管理能力,确保在数据传输前已经掌握设备间的连接信息。
3. 数据传输:支持消息和字节数据传输的专用通道。

通过使用分布式软总线提供的API,业务方可以在设备间实现高速通信,无需关注通信的具体细节,从而能够更高效地进行业务平台的部署与运行。

2.2.1.架构

2.2.2.代码介绍

2.2.2.1.代码目录
/foundation/communication/dsoftbus
├── interfaces            # 接口代码
├── core                  # 核心代码
│   ├── common            # 通用代码
│   ├── adapter           # 适配层代码
│   ├── authentication    # 认证代码
│   ├── bus_center        # 组网代码
│   ├── connection        # 连接代码
│   ├── discovery         # 发现代码
│   ├── transmission      # 传输代码
│   └── frame             # 框架代码
├── sdk                   # 运行业务进程代码
│   ├── bus_center        # 组网代码
│   ├── discovery         # 发现代码
│   ├── transmission      # 传输代码
│   └── frame             # 框架代码
└── components            # 依赖组件代码
2.2.2.2.说明

约束:

组网设备需在同一局域网中。
组网之前,需先完成设备绑定,绑定流程参见安全子系统中说明。

须知:

使用跨设备通信时,必须添加权限ohos.permission.DISTRIBUTED_DATASYNC,该权限类型为 dangerous 。

设备主动发现手机时,手机需打开超级终端的允许被“附近设备”发现开关(设置-超级终端-我的设备-允许被发现-附近设备),才能被设备发现。

2.2.2.3.发现组网和传输 
2.2.2.3.1.发现
  • 发布流程

a.上层应用需要对外发布自身能力时,调用服务发布接口发布自身能力。

// 发布回调
typedef struct {void (*OnPublishSuccess)(int publishId); //发布成功时回调void (*OnPublishFail)(int publishId, PublishFailReason reason);//发布失败时回调
} IPublishCallback;// 发布服务
int PublishService(const char *pkgName, const PublishInfo *info, const IPublishCallback *cb);

b.上层应用不再需要对外发布自身能力时,调用UnpublishService接口注销服务。

// 注销服务
int UnPublishService(const char *pkgName, int publishId);
  • 发现流程

a.上层应用需要发现特定能力设备时,调用发现接口启动发现。

// 发现回调
typedef struct {void (*OnDeviceFound)(const DeviceInfo *device); //发现设备回调void (*OnDiscoverFailed)(int subscribeId, DiscoveryFailReason failReason); //启动发现失败回调void (*OnDiscoverySuccess)(int subscribeId); //启动发现成功回调
} IDiscoveryCallback;// 发现服务
int StartDiscovery(const char *pkgName, const SubscribeInfo *info, const IDiscoveryCallback *cb);

b.当软总线发现到设备时,通过回调接口通知业务所发现的设备信息。

c.上层应用不再需要发现时,调用StopDiscovery接口停止设备发现。

// 停止服务
int StopDiscovery(const char *pkgName, int subscribeId);
2.2.2.3.2.组网

a.发起组网请求,携带组网连接地址信息,并且提供组网执行结果回调函数。

// 组网连接地址
typedef struct {ConnectionAddrType type;union {struct BrAddr {char brMac[BT_MAC_LEN];} br;struct BleAddr {char bleMac[BT_MAC_LEN];} ble;struct IpAddr {char ip[IP_STR_MAX_LEN];int port;} ip;} info;
} ConnectionAddr;// 组网连接地址类型
typedef enum {CONNECTION_ADDR_WLAN = 0,CONNECTION_ADDR_BR,CONNECTION_ADDR_BLE,CONNECTION_ADDR_ETH,CONNECTION_ADDR_MAX
} ConnectionAddrType;// 组网请求执行结果回调
typedef void (*OnJoinLNNResult)(ConnectionAddr *addr, const char *networkId, int32_t retCode);// 发起组网请求
int32_t JoinLNN(ConnectionAddr *target, OnJoinLNNResult cb);

b.等待组网结果,JoinLNN()返回成功表示软总线接受了组网请求,组网结果通过回调函数通知业务;组网回调函数中addr参数内容和JoinLNN()的入参互相匹配;retCode如果为0,表示组网成功,此时networkId为有效值,后续传输、退网等接口均需使用该参数;retCode如果不为0,表示组网失败,此时networkId为无效值。

c.使用传输相关接口进行数据传输。

d.发送退网请求,携带组网成功后返回的networkId,并且提供退网执行结果回调。

// 退网执行结果回调
typedef void (*OnLeaveLNNResult)(const char *networkId, int32_t retCode);// 退网请求
int32_t LeaveLNN(const char *networkId, OnLeaveLNNResult cb);

e.等待退网完成,OnLeaveLNNResult()的networkId和退网请求接口中的networkId互相匹配;retCode为0表示退网成功,否则退网失败。退网成功后,networkId变为无效值,后续不应该被继续使用。

f.使用节点(即设备)注册和注销接口,监听网络中节点状态变化等事件。

// 事件掩码
#define EVENT_NODE_STATE_ONLINE 0x1
#define EVENT_NODE_STATE_OFFLINE 0x02
#define EVENT_NODE_STATE_INFO_CHANGED 0x04
#define EVENT_NODE_STATE_MASK 0x07// 节点信息
typedef struct {char networkId[NETWORK_ID_BUF_LEN];char deviceName[DEVICE_NAME_BUF_LEN];uint16_t deviceTypeId;
} NodeBasicInfo;// 节点状态事件回调
typedef struct {uint32_t events; // 组网事件掩码void (*onNodeOnline)(NodeBasicInfo *info);   // 节点上线事件回调void (*onNodeOffline)(NodeBasicInfo *info);  // 节点下线事件回调void (*onNodeBasicInfoChanged)(NodeBasicInfoType type, NodeBasicInfo *info); // 节点信息变化事件回调
} INodeStateCb;//  注册节点状态事件回调
int32_t RegNodeDeviceStateCb(INodeStateCb *callback);// 注销节点状态事件回调
int32_t UnregNodeDeviceStateCb(INodeStateCb *callback);
2.2.2.3.3.传输

a.创建会话服务,并设置会话相关回调,用户可在回调中处理打开/关闭和消息接收事件。

// 会话管理回调
typedef struct {int (*OnSessionOpened)(int sessionId, int result);void (*OnSessionClosed)(int sessionId);void (*OnBytesReceived)(int sessionId, const void *data, unsigned int dataLen);void (*OnMessageReceived)(int sessionId, const void *data, unsigned int dataLen);
} ISessionListener;// 创建会话服务
int CreateSessionServer(const char *pkgName, const char *sessionName, const ISessionListener* listener);

b.创建会话 ,用于收发数据。

// 创建会话
int OpenSession(const char *mySessionName, const char *peerSessionName, const char *peerDeviceId, const char *groupId, const SessionAttribute* attr);

 c.通过sessionId向对端设备发送数据。

// 发送字节数据
int SendBytes(int sessionId, const void *data, unsigned int len);
// 发送消息数据
int SendMessage(int sessionId, const void *data, unsigned int len);

 d.通过sessionId关闭会话。

// 关闭会话
void CloseSession(int sessionId);

 e.删除会话服务。

// 删除会话服务
int RemoveSessionServer(const char *pkgName, const char *sessionName);

3.开源地址

OpenHarmony-GitCode:GitCode - 全球开发者的开源社区,开源代码托管平台

OpenHarmony-OpenAtom Foundation:OpenAtom OpenHarmony

分布式软总线-GitCode:GitCode - 全球开发者的开源社区,开源代码托管平台 

http://www.ritt.cn/news/27662.html

相关文章:

  • 网站如何做中英文双语言自动引流推广软件
  • 本机做web打开网站无法显示网站百度的网站
  • 手机网站开发方案关键词查询网站
  • 扬州网站推广营销推广平台
  • 做票据业务的p2p网站西安专业网络推广公司
  • 知识付费问答系统网站开发企业网站seo案例
  • 一等一网站手机如何制作网页链接
  • 旅游电子商务网站策划书安顺seo
  • 聚通装潢口碑好不好网站seo关键词排名
  • 可以做网页的网站希爱力双效片的作用与功效
  • 淘客做网站多少钱搜索关键词的网站
  • 网站建设具体需求百度下载安装
  • html5 企业网站模板百度账号快速注册
  • 上海cms建站seo关键词优化怎么收费
  • 广州英文网站建设打开百度网站首页
  • 做视频网站需要多少上传惠州seo怎么做
  • 做算命网站挣钱吗站长seo推广
  • 网站可以做多语言的吗产品软文范例大全
  • 交互网站设计东莞网站建设
  • 企业网站不付服务费应该怎么做百度seo工具
  • 网站后台怎么进入wordpress淘宝关键词搜索量查询工具
  • wordpress 审核用户化工网站关键词优化
  • 制作网站用的域名最新的疫情数据
  • 平湖网站建设公司克seo教程seo入门讲解
  • 开商城网站搜索引擎查重
  • 律师事务所 网站备案seo排名优化关键词
  • 做网站那几步搜狗收录提交入口网址
  • 专注高端网站设计推广形式有哪几种
  • 保健品网站模版网上销售平台怎么做
  • 网站导出链接查询阿里巴巴关键词排名优化