OpenHarmony鸿蒙Wifi AP业务流程分析

AP业务功能主要包括开启、关闭、设置热点配置以及连接设备管理(连接状态通知,黑名单管理)
  1. AP业务主要接口

    接口文件: wifi/interfaces/innerkits/native_cpp/wifi_standard/include/wifi_hotspot.h

    接口名称 接口描述
    ErrCode EnableHotspot(); 开启AP
    ErrCode DisableHotspot(); 关闭AP
    ErrCode GetHotspotState(int &state); 获取当前AP状态
    ErrCode SetHotspotConfig(const HotspotConfig &config); 设置AP配置
    ErrCode GetHotspotConfig(HotspotConfig &config); 获取AP配置
    ErrCode GetStationList(std::vector<StationInfo> &result); 获取已连接设备
    ErrCode DisassociateSta(const StationInfo &info); 断开某个设备连接
    ErrCode GetBlockLists(std::vector<\StationInfo> &infos); 获取当前黑名单列表
    ErrCode AddBlockList(const StationInfo &info); 添加黑名单
    ErrCode DelBlockList(const StationInfo &info); 删除黑名单
  2. AP业务流转总览
    AP业务流程图

  3. 以开启AP为例分析流程

    a. ap stub
    wifi/services/wifi_standard/wifi_framework/wifi_manage/wifi_hotspot_service_impl.cpp
    处理逻辑:

    1. 首先判断用户权限是否允许开启AP
    2. 当前设备状态如飞行模式、电量低不允许开启AP
    3. 判断当前AP状态,为了控制并发请求,在ap开启过程中都不在接收其他开启请求
    4. 动态加载ap能力,也即libwifi_ap_service.so。加载之后注册回调函数,作用为ap状态变更通知,设备连接状态变更通知等
    5. 最后调用ap内函数EnableHotspot

    b. ap service
    wifi/services

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

togolife

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值