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_SIZE32
NETCONN_MAX_BEARER_TYPE_SIZE32
NETCONN_MAX_CAP_SIZE32
NETCONN_MAX_ADDR_SIZE32
NETCONN_MAX_ROUTE_SIZE64
NETCONN_MAX_EXCLUSION_SIZE256
NETCONN_MAX_STR_LEN256

类型定义

名称描述
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_WIFIWIFI。
NETCONN_BEARER_BLUETOOTH蓝牙。
起始版本:12。
NETCONN_BEARER_ETHERNETEthernet。
NETCONN_BEARER_VPNVPN。
起始版本:12。

NetConn_NetCap

enum NetConn_NetCap

描述

网络能力集。

起始版本: 11

枚举值描述
NETCONN_NET_CAPABILITY_MMSMMS。
NETCONN_NET_CAPABILITY_NOT_METERED非计量网络。
NETCONN_NET_CAPABILITY_INTERNETInternet。
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

参数:

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

返回:

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查询结果,以链表形式返回。
netIdDNS查询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

  • 所属分类: 后端技术
  • 本文标签: 软件 鸿蒙
  • 版权声明: 本文链接 https://seaxiang.com/blog/obFqzf