harmony 鸿蒙NetConnection

  • 2025-06-16
  • 浏览 (1)

NetConnection

概述

为网络管理数据网络连接模块提供C接口。

起始版本: 11

汇总

文件

名称 描述
net_connection.h 为网络管理数据网络连接模块提供C接口。
引用文件: <network\/netmanager\/net_connection.h>
net_connection_type.h 定义网络连接模块的C接口需要的数据结构。
引用文件: <network\/netmanager\/net_connection_type.h>

结构体

名称 描述
NetConn_NetHandle 存放网络ID。
NetConn_NetCapabilities 网络能力集。
NetConn_NetAddr 网络地址。
NetConn_Route 路由配置信息。
NetConn_HttpProxy 代理配置信息。
NetConn_ConnectionProperties 网络连接信息。
NetConn_NetHandleList 网络列表。
NetConn_NetConnCallback 网络状态监听回调集合。
NetConn_NetSpecifier 网络的特征集,包含网络的能力集与网络的标识符。

宏定义

名称 描述
NETCONN_MAX_NET_SIZE 32
NETCONN_MAX_BEARER_TYPE_SIZE 32
NETCONN_MAX_CAP_SIZE 32
NETCONN_MAX_ADDR_SIZE 32
NETCONN_MAX_ROUTE_SIZE 64
NETCONN_MAX_EXCLUSION_SIZE 256
NETCONN_MAX_STR_LEN 256

类型定义

名称 描述
NetConn_NetCap 网络能力集。
NetConn_NetBearerType 网络载体类型。
NetConn_NetHandle 存放网络ID。
NetConn_NetCapabilities 网络能力集。
NetConn_NetAddr 网络地址。
NetConn_Route 路由配置信息。
NetConn_HttpProxy 代理配置信息。
NetConn_ConnectionProperties 网络连接信息。
NetConn_NetHandleList 网络列表。
(*OH_NetConn_CustomDnsResolver) (const char *host, const char *serv, const struct addrinfo *hint, struct addrinfo **res) 指向自定义 DNS 解析器的指针。
NetConn_NetConnCallback 网络状态监听回调集合。
NetConn_NetSpecifier 网络的特征集,包含网络的能力集与网络的标识符。
NetConn_ErrorCode 网络连接返回值错误码。

枚举

名称 描述
NetConn_NetCap {
NETCONN_NET_CAPABILITY_MMS = 0,
NETCONN_NET_CAPABILITY_NOT_METERED = 11,
NETCONN_NET_CAPABILITY_INTERNET = 12,
NETCONN_NET_CAPABILITY_NOT_VPN = 15,
NETCONN_NET_CAPABILITY_VALIDATED = 16
}
网络能力集。
NetConn_NetBearerType {
NETCONN_BEARER_CELLULAR = 0,
NETCONN_BEARER_WIFI = 1,
NETCONN_BEARER_ETHERNET = 3
NETCONN_BEARER_VPN = 4
}
网络载体类型。
NetConn_ErrorCode {
NETCONN_SUCCESS = 0,
NETCONN_PERMISSION_DENIED = 201,
NETCONN_PARAMETER_ERROR = 401,
NETCONN_OPERATION_FAILED = 2100002,
NETCONN_INTERNAL_ERROR= 2100003
}
网络连接返回值错误码。

函数

名称 描述
OH_NetConn_HasDefaultNet (int32_t *hasDefaultNet) 查询是否有默认激活的数据网络。
OH_NetConn_GetDefaultNet (NetConn_NetHandle *netHandle) 获取激活的默认的数据网络。
OH_NetConn_IsDefaultNetMetered (int32_t *isMetered) 查询默认网络是否按流量计费。
OH_NetConn_GetConnectionProperties (NetConn_NetHandle *netHandle, NetConn_ConnectionProperties *prop) 查询某个数据网络的链路信息。
OH_NetConn_GetNetCapabilities (NetConn_NetHandle *netHandle, NetConn_NetCapabilities *netCapacities) 查询某个网络的能力集。
OH_NetConn_GetDefaultHttpProxy (NetConn_HttpProxy *httpProxy) 查询默认的网络代理。
OH_NetConn_GetAddrInfo (char *host, char *serv, struct addrinfo *hint, struct addrinfo **res, int32_t netId) 通过netId获取DNS结果。
OH_NetConn_FreeDnsResult (struct addrinfo *res) 释放DNS结果。
OH_NetConn_GetAllNets (NetConn_NetHandleList *netHandleList) 查询所有激活的数据网络。
OHOS_NetConn_RegisterDnsResolver (OH_NetConn_CustomDnsResolver resolver) 注册自定义 DNS 解析器。
OHOS_NetConn_UnregisterDnsResolver (void) 取消注册自定义 DNS 解析器。
OH_NetConn_RegisterDnsResolver (OH_NetConn_CustomDnsResolver resolver) 注册自定义 DNS 解析器。
OH_NetConn_UnregisterDnsResolver (void) 取消注册自定义 DNS 解析器。
OH_NetConn_BindSocket (int32_t socketFd, NetConn_NetHandle *netHandle) 将套接字与指定的网络进行绑定。
OH_NetConn_SetAppHttpProxy (NetConn_HttpProxy *httpProxy) 设置应用级代理信息。
OH_NetConn_RegisterAppHttpProxyCallback (OH_NetConn_AppHttpProxyChange appHttpProxyChange, uint32_t *callbackId) 注册监听应用级代理变化。
OH_NetConn_UnregisterAppHttpProxyCallback (uint32_t callbackId) 注销监听应用级代理变化。
OH_NetConn_RegisterNetConnCallback (NetConn_NetSpecifier *specifier, NetConn_NetConnCallback *netConnCallback, uint32_t timeoutMS, uint32_t *callbackId) 注册监听网络状态的回调。
OH_NetConn_RegisterDefaultNetConnCallback (NetConn_NetConnCallback *netConnCallback, uint32_t *callbackId) 注册监听默认网络状态的回调。
OH_NetConn_UnregisterNetConnCallback (uint32_t callbackId) 注销监听网络状态的回调。
OH_NetConn_SetPacUrl (const char *pacUrl) 设置系统级代理自动配置(PAC)脚本地址。
OH_NetConn_GetPacUrl (char *pacUrl) 获取系统级代理自动配置(PAC)脚本地址。

类型定义说明

NetConn_ConnectionProperties

typedef struct NetConn_ConnectionProperties NetConn_ConnectionProperties

描述

网络连接信息。

起始版本: 11

NetConn_HttpProxy

typedef struct NetConn_HttpProxy NetConn_HttpProxy

描述

代理配置信息。

起始版本: 11

NetConn_NetAddr

typedef struct NetConn_NetAddr NetConn_NetAddr

描述

网络地址。

起始版本: 11

NetConn_NetBearerType

typedef enum NetConn_NetBearerType NetConn_NetBearerType

描述

网络载体类型。

起始版本: 11

NetConn_NetCap

typedef enum NetConn_NetCap NetConn_NetCap

描述

网络能力集。

起始版本: 11

NetConn_NetCapabilities

typedef struct NetConn_NetCapabilities NetConn_NetCapabilities

描述

网络能力集。

起始版本: 11

NetConn_NetHandle

typedef struct NetConn_NetHandle NetConn_NetHandle

描述

存放网络ID。

起始版本: 11

NetConn_NetHandleList

typedef struct NetConn_NetHandleList NetConn_NetHandleList

描述

网络列表。

起始版本: 11

NetConn_Route

typedef struct NetConn_Route NetConn_Route

描述

路由配置信息。

起始版本: 11

OH_NetConn_CustomDnsResolver

typedef int(* OH_NetConn_CustomDnsResolver) (const char *host, const char *serv, const struct addrinfo *hint, struct addrinfo **res)

描述

指向自定义 DNS 解析器的指针。

起始版本: 11

参数:

名称 描述
host 要查询的主机名。
serv 服务名称。
hint 指向addrinfo结构的指针。
res 存储DNS查询结果并以链表形式返回。

OH_NetConn_AppHttpProxyChange

typedef void(* OH_NetConn_AppHttpProxyChange) (NetConn_HttpProxy *proxy)

描述

应用级代理变化回调指针。

起始版本: 12

参数:

名称 描述
proxy 变化的代理配置信息(可能为空指针)。

NetConn_NetConnCallback

typedef struct NetConn_NetConnCallback NetConn_NetConnCallback

描述

网络状态监听回调集合。

起始版本: 12

NetConn_NetSpecifier

typedef struct NetConn_NetSpecifier NetConn_NetSpecifier

描述

网络的特征集,包含网络的能力集与网络的标识符。

起始版本: 12

NetConn_ErrorCode

typedef enum NetConn_ErrorCode NetConn_ErrorCode

描述

网络连接返回值错误码。

起始版本: 15

枚举类型说明

NetConn_NetBearerType

enum NetConn_NetBearerType

描述

网络载体类型。

起始版本: 11

枚举值 描述
NETCONN_BEARER_CELLULAR 蜂窝网络。
NETCONN_BEARER_WIFI WIFI。
NETCONN_BEARER_BLUETOOTH 蓝牙。
起始版本:12。
NETCONN_BEARER_ETHERNET Ethernet。
NETCONN_BEARER_VPN VPN。
起始版本:12。

NetConn_NetCap

enum NetConn_NetCap

描述

网络能力集。

起始版本: 11

枚举值 描述
NETCONN_NET_CAPABILITY_MMS MMS。
NETCONN_NET_CAPABILITY_NOT_METERED 非计量网络。
NETCONN_NET_CAPABILITY_INTERNET Internet。
NETCONN_NET_CAPABILITY_NOT_VPN 非VPN。
NETCONN_NET_CAPABILITY_VALIDATED 已验证。
NETCONN_NET_CAPABILITY_CHECKING_CONNECTIVITY 检测连通性中。
起始版本:12。

NetConn_ErrorCode

enum NetConn_ErrorCode

描述

网络连接返回值错误码。

起始版本: 15

枚举值 描述
NETCONN_SUCCESS 成功。
NETCONN_PERMISSION_DENIED 权限校验失败。
NETCONN_PARAMETER_ERROR 参数检查失败。
NETCONN_OPERATION_FAILED 连接服务失败。
NETCONN_INTERNAL_ERROR 系统内部错误。

函数说明

OH_NetConn_FreeDnsResult()

int32_t OH_NetConn_FreeDnsResult (struct addrinfo * res)

描述

释放DNS结果。

系统能力: SystemCapability.Communication.NetManager.Core

起始版本: 11

参数:

名称 描述
res DNS查询结果链表头。

返回:

0 - 成功。

201 - 缺少权限。

401 - 参数错误。

2100002 - 无法连接到服务。

2100003 - 内部错误。

Permission:

ohos.permission.INTERNET

OH_NetConn_GetAddrInfo()

int32_t OH_NetConn_GetAddrInfo (char * host, char * serv, struct addrinfo * hint, struct addrinfo ** res, int32_t netId )

描述

通过netId获取DNS结果。

系统能力: SystemCapability.Communication.NetManager.Core

起始版本: 11

参数:

名称 描述
host 所需查询的host名。
serv 服务名。
hint 指向addrinfo结构体的指针。
res 存放DNS查询结果,以链表形式返回。
netId DNS查询netId 为0是使用默认netid查询。

返回:

0 - 成功。

201 - 缺少权限。

401 - 参数错误。

2100002 - 无法连接到服务。

2100003 - 内部错误。

Permission:

ohos.permission.INTERNET

OH_NetConn_GetAllNets()

int32_t OH_NetConn_GetAllNets (NetConn_NetHandleList * netHandleList)

描述

查询所有激活的数据网络。

系统能力: SystemCapability.Communication.NetManager.Core

起始版本: 11

参数:

名称 描述
netHandleList 网络信息列表。

返回:

0 - 成功。

201 - 缺少权限。

401 - 参数错误。

2100002 - 无法连接到服务。

2100003 - 内部错误。

Permission:

ohos.permission.GET_NETWORK_INFO

OH_NetConn_GetConnectionProperties()

int32_t OH_NetConn_GetConnectionProperties (NetConn_NetHandle * netHandle, NetConn_ConnectionProperties * prop )

描述

查询某个数据网络的链路信息。

系统能力: SystemCapability.Communication.NetManager.Core

起始版本: 11

参数:

名称 描述
nethandle 存放网络ID。
prop 存放链路信息。

返回:

0 - 成功。

201 - 缺少权限。

401 - 参数错误。

2100002 - 无法连接到服务。

2100003 - 内部错误。

Permission:

ohos.permission.GET_NETWORK_INFO

OH_NetConn_GetDefaultHttpProxy()

int32_t OH_NetConn_GetDefaultHttpProxy (NetConn_HttpProxy * httpProxy)

描述

查询默认的网络代理。

系统能力: SystemCapability.Communication.NetManager.Core

起始版本: 11

参数:

名称 描述
httpProxy 存放代理配置信息。

返回:

0 - 成功。

201 - 缺少权限。

401 - 参数错误。

2100002 - 无法连接到服务。

2100003 - 内部错误。

OH_NetConn_GetDefaultNet()

int32_t OH_NetConn_GetDefaultNet (NetConn_NetHandle * netHandle)

描述

获取激活的默认的数据网络。

系统能力: SystemCapability.Communication.NetManager.Core

起始版本: 11

参数:

名称 描述
netHandle 存放网络ID。

返回:

0 - 成功。

201 - 缺少权限。

401 - 参数错误。

2100002 - 无法连接到服务。

2100003 - 内部错误。

Permission:

ohos.permission.GET_NETWORK_INFO

OH_NetConn_GetNetCapabilities()

int32_t OH_NetConn_GetNetCapabilities (NetConn_NetHandle * netHandle, NetConn_NetCapabilities * netCapacities )

描述

查询某个网络的能力集。

系统能力: SystemCapability.Communication.NetManager.Core

起始版本: 11

参数:

名称 描述
netHandle 存放网络ID。
netCapacities 存放能力集。

返回:

0 - 成功。

201 - 缺少权限。

401 - 参数错误。

2100002 - 无法连接到服务。

2100003 - 内部错误。

Permission:

ohos.permission.GET_NETWORK_INFO

OH_NetConn_HasDefaultNet()

int32_t OH_NetConn_HasDefaultNet (int32_t * hasDefaultNet)

描述

查询是否有默认激活的数据网络。

系统能力: SystemCapability.Communication.NetManager.Core

起始版本: 11

参数:

名称 描述
hasDefaultNet 是否有默认网络。

返回:

0 - 成功。

201 - 缺少权限。

401 - 参数错误。

2100002 - 无法连接到服务。

2100003 - 内部错误。

Permission:

ohos.permission.GET_NETWORK_INFO

OH_NetConn_IsDefaultNetMetered()

int32_t OH_NetConn_IsDefaultNetMetered (int32_t * isMetered)

描述

查询默认数据网络是否记流量。

系统能力: SystemCapability.Communication.NetManager.Core

起始版本: 11

参数:

名称 描述
isMetered 是否激活。

返回:

0 - 成功。

201 - 缺少权限。

401 - 参数错误。

2100002 - 无法连接到服务。

2100003 - 内部错误。

Permission:

ohos.permission.GET_NETWORK_INFO

OHOS_NetConn_RegisterDnsResolver() (deprecated)

int32_t OHOS_NetConn_RegisterDnsResolver (OH_NetConn_CustomDnsResolver resolver)

描述

注册自定义 DNS 解析器。

系统能力: SystemCapability.Communication.NetManager.Core

起始版本: 11

废弃版本: 13

替代接口: OH_NetConn_RegisterDnsResolver

参数:

名称 描述
resolver 指向自定义 DNS 解析器的指针。

返回:

0 - 成功。

201 - 缺少权限。

401 - 参数错误。

2100002 - 无法连接到服务。

2100003 - 内部错误。

Permission:

ohos.permission.INTERNET

OHOS_NetConn_UnregisterDnsResolver() (deprecated)

int32_t OHOS_NetConn_UnregisterDnsResolver (void )

描述

取消注册自定义 DNS 解析器。

系统能力: SystemCapability.Communication.NetManager.Core

起始版本: 11

废弃版本: 13

替代接口: OH_NetConn_UnregisterDnsResolver

返回:

0 - 成功。

201 - 缺少权限。

401 - 参数错误。

2100002 - 无法连接到服务。

2100003 - 内部错误。

Permission:

ohos.permission.INTERNET

OH_NetConn_RegisterDnsResolver()

int32_t OH_NetConn_RegisterDnsResolver (OH_NetConn_CustomDnsResolver resolver)

描述

注册自定义 DNS 解析器。

系统能力: SystemCapability.Communication.NetManager.Core

起始版本: 13

参数:

名称 描述
resolver 指向自定义 DNS 解析器的指针。

返回:

0 - 成功。

201 - 缺少权限。

401 - 参数错误。

2100002 - 无法连接到服务。

2100003 - 内部错误。

Permission:

ohos.permission.INTERNET

OH_NetConn_UnregisterDnsResolver()

int32_t OH_NetConn_UnregisterDnsResolver (void )

描述

取消注册自定义 DNS 解析器。

系统能力: SystemCapability.Communication.NetManager.Core

起始版本: 13

返回:

0 - 成功。

201 - 缺少权限。

401 - 参数错误。

2100002 - 无法连接到服务。

2100003 - 内部错误。

Permission:

ohos.permission.INTERNET

OH_NetConn_BindSocket()

int32_t OH_NetConn_BindSocket (int32_t socketFd, NetConn_NetHandle * netHandle)

描述

将套接字与指定的网络进行绑定。

系统能力: SystemCapability.Communication.NetManager.Core

起始版本: 12

参数:

名称 描述
socketFd 用户创建的套接字。
netHandle 存放网络ID。

返回:

0 - 成功。

401 - 参数错误。

2100002 - 无法连接到服务。

2100003 - 内部错误。

OH_NetConn_SetAppHttpProxy()

int32_t OH_NetConn_SetAppHttpProxy(NetConn_HttpProxy *httpProxy)

描述

设置应用级代理配置信息。

系统能力: SystemCapability.Communication.NetManager.Core

起始版本: 12

参数:

名称 描述
httpProxy 应用级代理配置信息。

返回:

0 - 成功。

401 - 参数错误。

OH_NetConn_RegisterAppHttpProxyCallback()

int32_t OH_NetConn_RegisterAppHttpProxyCallback(OH_NetConn_AppHttpProxyChange appHttpProxyChange, uint32_t *callbackId)

描述

注册监听应用级代理变化的回调。

系统能力: SystemCapability.Communication.NetManager.Core

起始版本: 12

参数:

名称 描述
appHttpProxyChange 指向应用级代理变化回调的指针。
callbackId 关联本次注册的回调的id。

返回:

0 - 成功。

401 - 参数错误。

OH_NetConn_UnregisterAppHttpProxyCallback()

void OH_NetConn_UnregisterAppHttpProxyCallback(uint32_t callbackId)

描述

注销监听应用级代理变化的回调。

系统能力: SystemCapability.Communication.NetManager.Core

起始版本: 12

参数:

名称 描述
callbackId 关联需要注销的回调的id,此id在注册时得到。

OH_NetConn_RegisterNetConnCallback()

int32_t OH_NetConn_RegisterNetConnCallback(NetConn_NetSpecifier *specifier, NetConn_NetConnCallback *netConnCallback, uint32_t timeout, uint32_t *callbackId)

描述

注册回调,用于监听特定的网络状态变更。

系统能力: SystemCapability.Communication.NetManager.Core

起始版本: 12

参数:

名称 描述
specifier 网络特征集。
netConnCallback 注册的回调函数集合。
timeout 等待时间,单位为毫秒,为0时表示无限等待。
callbackId 出参,对应本次注册成功的回调。

返回:

0 - 成功。

201 - 缺少权限。

401 - 参数错误。

2100002 - 无法连接到服务。

2100003 - 内部错误。

2101008 - 回调已注册。

2101022 - 超过最大请求数。

Permission:

ohos.permission.GET_NETWORK_INFO

OH_NetConn_RegisterDefaultNetConnCallback()

int32_t OH_NetConn_RegisterDefaultNetConnCallback(NetConn_NetConnCallback *netConnCallback, uint32_t *callbackId)

描述

注册回调,用于监听默认的网络状态变更。

系统能力: SystemCapability.Communication.NetManager.Core

起始版本: 12

参数:

名称 描述
netConnCallback 注册的回调函数集合。
callbackId 出参,对应本次注册成功的回调。

返回:

0 - 成功。

201 - 缺少权限。

401 - 参数错误。

2100002 - 无法连接到服务。

2100003 - 内部错误。

2101008 - 回调已注册。

2101022 - 超过最大请求数。

Permission:

ohos.permission.GET_NETWORK_INFO

OH_NetConn_UnregisterNetConnCallback()

int32_t OH_NetConn_UnregisterNetConnCallback(uint32_t callBackId)

描述

注销网络状态监听回调。

系统能力: SystemCapability.Communication.NetManager.Core

起始版本: 12

参数:

名称 描述
callBackId 需要被注销的回调对应id。

返回:

0 - 成功。

201 - 缺少权限。

401 - 参数错误。

2100002 - 无法连接到服务。

2100003 - 内部错误。

2101007 - 未找到相应回调。

Permission:

ohos.permission.GET_NETWORK_INFO

OH_NetConn_SetPacUrl()

NetConn_ErrorCode OH_NetConn_SetPacUrl(const char *pacUrl)

描述

设置系统级代理自动配置(PAC)脚本地址。

系统能力: SystemCapability.Communication.NetManager.Core

起始版本: 15

参数:

名称 描述
pacUrl 需要设置的PAC脚本地址,该接口不会对脚本地址进行校验。

返回:

NETCONN_SUCCESS - 成功。

NETCONN_PERMISSION_DENIED - 缺少权限。

NETCONN_PARAMETER_ERROR - 参数错误。

NETCONN_OPERATION_FAILED - 无法连接到服务。

NETCONN_INTERNAL_ERROR - 内部错误,表示设置脚本地址失败。

Permission:

ohos.permission.SET_PAC_URL

OH_NetConn_GetPacUrl()

NetConn_ErrorCode OH_NetConn_GetPacUrl(char *pacUrl)

描述

获取系统级代理自动配置(PAC)脚本地址。

系统能力: SystemCapability.Communication.NetManager.Core

起始版本: 15

参数:

名称 描述
pacUrl 获取的PAC脚本地址。

返回:

NETCONN_SUCCESS - 成功。

NETCONN_PERMISSION_DENIED - 参数错误。

NETCONN_OPERATION_FAILED - 无法连接到服务。

NETCONN_INTERNAL_ERROR - 内部错误,表示未设置脚本地址或查询失败。

你可能感兴趣的鸿蒙文章

harmony 鸿蒙Network Kit(网络服务)

harmony 鸿蒙NetConn_ConnectionProperties

harmony 鸿蒙NetConn_HttpProxy

harmony 鸿蒙NetConn_NetAddr

harmony 鸿蒙NetConn_NetCapabilities

harmony 鸿蒙NetConn_NetConnCallback

harmony 鸿蒙NetConn_NetHandle

harmony 鸿蒙NetConn_NetHandleList

harmony 鸿蒙NetConn_NetSpecifier

harmony 鸿蒙NetConn_Route

0  赞