# Network Connection Management > **NOTE**
> > The initial APIs of this module are supported since API version 8. Newly added APIs will be marked with a superscript to indicate their earliest API version. ## Modules to Import ```javascript import connection from '@ohos.net.connection' ``` ## connection.getDefaultNet getDefaultNet(callback: AsyncCallback\): void Obtains the default active data network. This API uses an asynchronous callback to return the result. **Required permissions**: ohos.permission.GET_NETWORK_INFO **System capability**: SystemCapability.Communication.NetManager.Core **Parameters** | Name | Type | Mandatory| Description | | -------- | --------------------------------------- | ---- | ---------- | | callback | AsyncCallback\<[NetHandle](#nethandle)> | Yes | Callback used to return the result.| **Example** ```javascript connection.getDefaultNet(function (error, netHandle) { console.log(JSON.stringify(error)) console.log(JSON.stringify(netHandle)) }) ``` ## connection.getDefaultNet getDefaultNet(): Promise\ Obtains the default active data network. This API uses a promise to return the result. **Required permissions**: ohos.permission.GET_NETWORK_INFO **System capability**: SystemCapability.Communication.NetManager.Core **Return value** | Type | Description | | --------------------------------- | ------------------------------------- | | Promise\<[NetHandle](#nethandle)> | Promise used to return the result.| **Example** ```javascript connection.getDefaultNet().then(function (netHandle) { console.log(JSON.stringify(netHandle)) }) ``` ## connection.hasDefaultNet hasDefaultNet(callback: AsyncCallback\): void Checks whether the default data network is activated. This API uses an asynchronous callback to return the result. **System capability**: SystemCapability.Communication.NetManager.Core **Parameters** | Name | Type | Mandatory| Description | | -------- | ----------------------- | ---- | -------------------------------------- | | callback | AsyncCallback\ | Yes | Callback used to return the result. The value **true** indicates that the default data network is activated.| **Example** ```javascript connection.hasDefaultNet(function (error, has) { console.log(JSON.stringify(error)) console.log(has) }) ``` ## connection.hasDefaultNet hasDefaultNet(): Promise\ Checks whether the default data network is activated. This API uses a promise to return the result. **System capability**: SystemCapability.Communication.NetManager.Core **Return value** | Type | Description | | ----------------- | ----------------------------------------------- | | Promise\ | Promise used to return the result. The value **true** indicates that the default data network is activated.| **Example** ```javascript connection.hasDefaultNet().then(function (has) { console.log(has) }) ``` ## connection.getAllNets getAllNets(callback: AsyncCallback<Array<NetHandle>>): void Obtains the list of all active data networks. This API uses an asynchronous callback to return the result. **Required permissions**: ohos.permission.GET_NETWORK_INFO **System capability**: SystemCapability.Communication.NetManager.Core **Parameters** | Name| Type| Mandatory| Description| | -------- | -------- | -------- | -------- | | callback | AsyncCallback<Array<[NetHandle](#nethandle)>> | Yes| Callback used to return the result.| **Example** ``` connection.getAllNets(function (error, nets) { console.log(JSON.stringify(error)) console.log(JSON.stringify(nets)) }); ``` ## connection.getAllNets getAllNets(): Promise<Array<NetHandle>> Obtains the list of all active data networks. This API uses a promise to return the result. **Required permissions**: ohos.permission.GET_NETWORK_INFO **System capability**: SystemCapability.Communication.NetManager.Core **Return value** | Type| Description| | -------- | -------- | | Promise<Array<[NetHandle](#nethandle)>> | Promise used to return the result.| **Example** ``` connection.getAllNets().then(function (nets) { console.log(JSON.stringify(nets)) }); ``` ## connection.getConnectionProperties getConnectionProperties(netHandle: NetHandle, callback: AsyncCallback\): void Obtains connection properties of the network corresponding to the **netHandle**. This API uses an asynchronous callback to return the result. **Required permissions**: ohos.permission.GET_NETWORK_INFO **System capability**: SystemCapability.Communication.NetManager.Core **Parameters** | Name | Type | Mandatory| Description | | --------- | ------------------------------------------------------------ | ---- | ---------------- | | netHandle | [NetHandle](#nethandle) | Yes | Network handle.| | callback | AsyncCallback\<[ConnectionProperties](#connectionproperties)> | Yes | Callback used to return the result. | **Example** ```javascript connection.getDefaultNet().then(function (netHandle) { connection.getConnectionProperties(netHandle, function (error, info) { console.log(JSON.stringify(error)) console.log(JSON.stringify(info)) }) }) ``` ## connection.getConnectionProperties getConnectionProperties(netHandle: NetHandle): Promise\ Obtains connection properties of the network corresponding to the **netHandle**. This API uses a promise to return the result. **Required permissions**: ohos.permission.GET_NETWORK_INFO **System capability**: SystemCapability.Communication.NetManager.Core **Parameters** | Name | Type | Mandatory| Description | | --------- | ----------------------- | ---- | ---------------- | | netHandle | [NetHandle](#nethandle) | Yes | Network handle.| **Return value** | Type | Description | | ------------------------------------------------------- | --------------------------------- | | Promise\<[ConnectionProperties](#connectionproperties)> | Promise used to return the result.| **Example** ```javascript connection.getDefaultNet().then(function (netHandle) { connection.getConnectionProperties(netHandle).then(function (info) { console.log(JSON.stringify(info)) }) }) ``` ## connection.getNetCapabilities getNetCapabilities(netHandle: NetHandle, callback: AsyncCallback\): void Obtains capability information of the network corresponding to the **netHandle**. This API uses an asynchronous callback to return the result. **Required permissions**: ohos.permission.GET_NETWORK_INFO **System capability**: SystemCapability.Communication.NetManager.Core **Parameters** | Name | Type | Mandatory| Description | | --------- | --------------------------------------------------- | ---- | ---------------- | | netHandle | [NetHandle](#nethandle) | Yes | Network handle.| | callback | AsyncCallback\<[NetCapabilities](#netcapabilities)> | Yes | Callback used to return the result. | **Example** ```javascript connection.getDefaultNet().then(function (netHandle) { connection.getNetCapabilities(netHandle, function (error, info) { console.log(JSON.stringify(error)) console.log(JSON.stringify(info)) }) }) ``` ## connection.getNetCapabilities getNetCapabilities(netHandle: NetHandle): Promise\ Obtains capability information of the network corresponding to the **netHandle**. This API uses a promise to return the result. **Required permissions**: ohos.permission.GET_NETWORK_INFO **System capability**: SystemCapability.Communication.NetManager.Core **Parameters** | Name | Type | Mandatory| Description | | --------- | ----------------------- | ---- | ---------------- | | netHandle | [NetHandle](#nethandle) | Yes | Network handle.| **Return value** | Type | Description | | --------------------------------------------- | --------------------------------- | | Promise\<[NetCapabilities](#netcapabilities)> | Promise used to return the result.| **Example** ```javascript connection.getDefaultNet().then(function (netHandle) { connection.getNetCapabilities(netHandle).then(function (info) { console.log(JSON.stringify(info)) }) }) ``` ## connection.reportNetConnected reportNetConnected(netHandle: NetHandle, callback: AsyncCallback<void>): void Reports connection of the data network. This API uses an asynchronous callback to return the result. **Required permissions** : ohos.permission.GET_NETWORK_INFO and ohos.permission.INTERNET **System capability**: SystemCapability.Communication.NetManager.Core **Parameters** | Name| Type| Mandatory| Description| | -------- | -------- | -------- | -------- | | netHandle | [NetHandle](#nethandle) | Yes| Handle of the data network. For details, see [NetHandle](#nethandle).| | callback | AsyncCallback<void> | Yes| Callback used to return the result.| **Example** ``` connection.getDefaultNet().then(function (netHandle) { connection.reportNetConnected(netHandle, function (error) { console.log(JSON.stringify(error)) }); }); ``` ## connection.reportNetConnected reportNetConnected(netHandle: NetHandle): Promise<void> Reports connection of the data network. This API uses a promise to return the result. **Required permissions**: ohos.permission.GET_NETWORK_INFO and ohos.permission.INTERNET **System capability**: SystemCapability.Communication.NetManager.Core **Parameters** | Name| Type| Mandatory| Description| | -------- | -------- | -------- | -------- | | netHandle | [NetHandle](#nethandle) | Yes| Handle of the data network. For details, see [NetHandle](#nethandle).| **Return value** | Type| Description| | -------- | -------- | | Promise<void> | Promise used to return the result.| **Example** ``` connection.getDefaultNet().then(function (netHandle) { connection.reportNetConnected(netHandle).then(function () { console.log(`report success`) }); }); ``` ## connection.reportNetDisconnected reportNetDisconnected(netHandle: NetHandle, callback: AsyncCallback<void>): void Reports disconnection of the data network. This API uses an asynchronous callback to return the result. **Required permissions**: ohos.permission.GET_NETWORK_INFO and ohos.permission.INTERNET **System capability**: SystemCapability.Communication.NetManager.Core **Parameters** | Name| Type| Mandatory| Description| | -------- | -------- | -------- | -------- | | netHandle | [NetHandle](#nethandle) | Yes| Handle of the data network. For details, see [NetHandle](#nethandle).| | callback | AsyncCallback<void> | Yes| Callback used to return the result.| **Example** ``` connection.getDefaultNet().then(function (netHandle) { connection.reportNetDisconnected(netHandle, function (error) { console.log(JSON.stringify(error)) }); }); ``` ## connection.reportNetDisconnected reportNetDisconnected(netHandle: NetHandle): Promise<void> Reports disconnection of the data network. This API uses a promise to return the result. **Required permissions**: ohos.permission.GET_NETWORK_INFO and ohos.permission.INTERNET **System capability**: SystemCapability.Communication.NetManager.Core **Parameters** | Name| Type| Mandatory| Description| | -------- | -------- | -------- | -------- | | netHandle | [NetHandle](#nethandle) | Yes| Handle of the data network. For details, see [NetHandle](#nethandle).| **Return value** | Type| Description| | -------- | -------- | | Promise<void> | Promise used to return the result.| **Example** ``` connection.getDefaultNet().then(function (netHandle) { connection.reportNetDisconnected(netHandle).then(function () { console.log(`report success`) }); }); ``` ## connection.getAddressesByName getAddressesByName(host: string, callback: AsyncCallback\>): void Resolves the host name by using the default network to obtain all IP addresses. This API uses an asynchronous callback to return the result. **Required permissions**: ohos.permission.GET_NETWORK_INFO **System capability**: SystemCapability.Communication.NetManager.Core **Parameters** | Name | Type | Mandatory| Description | | -------- | ------------------------------------------------- | ---- | ------------------ | | host | string | Yes | Host name to resolve.| | callback | AsyncCallback\> | Yes | Callback used to return the result. | **Example** ``` let host = "xxxx"; connection.getAddressesByName(host, function (error, addresses) { console.log(JSON.stringify(error)) console.log(JSON.stringify(addresses)) }) ``` ## connection.getAddressesByName getAddressesByName(host: string): Promise\> Resolves the host name by using the default network to obtain all IP addresses. This API uses a promise to return the result. **Required permissions**: ohos.permission.GET_NETWORK_INFO **System capability**: SystemCapability.Communication.NetManager.Core **Parameters** | Name| Type | Mandatory| Description | | ------ | ------ | ---- | ------------------ | | host | string | Yes | Host name to resolve.| **Return value** | Type | Description | | ------------------------------------------- | ----------------------------- | | Promise\> | Promise used to return the IP addresses obtained.| **Example** ``` let host = "xxxx"; connection.getAddressesByName(host).then(function (addresses) { console.log(JSON.stringify(addresses)) }) ``` ## connection.createNetConnection createNetConnection(netSpecifier?: NetSpecifier, timeout?: number): NetConnection Obtains the handle of the network specified by **netSpecifier**. **System capability**: SystemCapability.Communication.NetManager.Core **Parameters** | Name | Type | Mandatory| Description | | ------------ | ----------------------------- | ---- | ------------------------------------------------------------ | | netSpecifier | [NetSpecifier](#netspecifier) | No | Network specifier. If this parameter is not set, the default network is used. | | timeout | number | No | Timeout interval for obtaining the network specified by **netSpecifier**. This parameter is valid only when **netSpecifier** is set.| **Return value** | Type | Description | | ------------------------------- | -------------------- | | [NetConnection](#netconnection) | Handle of the network specified by **netSpecifier**.| **Example** ```javascript // Default network let netConnection = connection.createNetConnection() // Cellular network let netConnectionCellular = connection.createNetConnection({ netCapabilities: { bearerTypes: [NetBearType.BEARER_CELLULAR] } }) ``` ## NetConnection Represents the network connection handle. ### on('netAvailable') on(type: 'netAvailable', callback: Callback\): void Registers a listener for **netAvailable** events. **System capability**: SystemCapability.Communication.NetManager.Core **Parameters** | Name | Type | Mandatory| Description | | -------- | ---------------------------------- | ---- | ------------------------------------------------------------ | | type | string | Yes | Event type. The value is fixed to **netAvailable**.
**netAvailable**: event indicating that the data network is available.| | callback | Callback\<[NetHandle](#nethandle)> | Yes | Callback used to return the result. | **Example** ```javascript netConnection.on('netAvailable', function (data) { console.log(JSON.stringify(data)) }) ``` ### on('netCapabilitiesChange') on(type: 'netCapabilitiesChange', callback: Callback<{ netHandle: NetHandle, netCap: NetCapabilities }>): void Registers a listener for **netCapabilitiesChange** events. **System capability**: SystemCapability.Communication.NetManager.Core **Parameters** | Name | Type | Mandatory| Description | | -------- | ------------------------------------------------------------ | ---- | ------------------------------------------------------------ | | type | string | Yes | Event type. The value is fixed to **netCapabilitiesChange**.
**netCapabilitiesChange**: event indicating that the network capabilities have changed.| | callback | Callback<{ netHandle: [NetHandle](#nethandle), netCap: [NetCapabilities](#netcapabilities) }> | Yes | Callback used to return the result. | **Example** ```javascript netConnection.on('netCapabilitiesChange', function (data) { console.log(JSON.stringify(data)) }) ``` ### on('netConnectionPropertiesChange') on(type: 'netConnectionPropertiesChange', callback: Callback<{ netHandle: NetHandle, connectionProperties: ConnectionProperties }>): void Registers a listener for **netConnectionPropertiesChange** events. **System capability**: SystemCapability.Communication.NetManager.Core **Parameters** | Name | Type | Mandatory| Description | | -------- | ------------------------------------------------------------ | ---- | ------------------------------------------------------------ | | type | string | Yes | Event type. The value is fixed to **netConnectionPropertiesChange**.
**netConnectionPropertiesChange**: event indicating that network connection properties have changed.| | callback | Callback<{ netHandle: [NetHandle](#nethandle), connectionProperties: [ConnectionProperties](#connectionproperties) }> | Yes | Callback used to return the result. | **Example** ```javascript netConnection.on('netConnectionPropertiesChange', function (data) { console.log(JSON.stringify(data)) }) ``` ### on('netBlockStatusChange') on(type: 'netBlockStatusChange', callback: Callback<{ netHandle: NetHandle, blocked: boolean }>): void Registers a listener for **netBlockStatusChange** events. **System capability**: SystemCapability.Communication.NetManager.Core **Parameters** | Name | Type | Mandatory| Description | | -------- | ------------------------------------------------------------ | ---- | ------------------------------------------------------------ | | type | string | Yes | Event type. The value is fixed to **netBlockStatusChange**.
**netBlockStatusChange**: event indicating a change in the network blocking status.| | callback | Callback<{ netHandle: [NetHandle](#nethandle), blocked: boolean }> | Yes | Callback used to return the result. | **Example** ```javascript netConnection.on('netBlockStatusChange', function (data) { console.log(JSON.stringify(data)) }) ``` ### on('netLost') on(type: 'netLost', callback: Callback\): void Registers a listener for **netLost** events. **System capability**: SystemCapability.Communication.NetManager.Core **Parameters** | Name | Type | Mandatory| Description | | -------- | ---------------------------------- | ---- | ------------------------------------------------------------ | | type | string | Yes | Event type. The value is fixed to **netLost**.
netLost: event indicating that the network is interrupted or normally disconnected.| | callback | Callback\<[NetHandle](#nethandle)> | Yes | Callback used to return the result. | **Example** ```javascript let netConnection1 = connection.createNetConnection() netConnection1.on('netLost', function (data) { console.log(JSON.stringify(data)) }) ``` ### on('netUnavailable') on(type: 'netUnavailable', callback: Callback\): void Registers a listener for **netUnavailable** events. **System capability**: SystemCapability.Communication.NetManager.Core **Parameters** | Name | Type | Mandatory| Description | | -------- | --------------- | ---- | ------------------------------------------------------------ | | type | string | Yes | Event type. The value is fixed to **netUnavailable**.
**netUnavailable**: event indicating that the network is unavailable.| | callback | Callback\ | Yes | Callback used to return the result. | **Example** ```javascript netConnection.on('netUnavailable', function (data) { console.log(JSON.stringify(data)) }) ``` ### register register(callback: AsyncCallback\): void Registers a listener for network status changes. **Required permissions**: ohos.permission.GET_NETWORK_INFO **System capability**: SystemCapability.Communication.NetManager.Core **Parameters** | Name | Type | Mandatory| Description | | -------- | -------------------- | ---- | ---------- | | callback | AsyncCallback\ | Yes | Callback used to return the result.| **Example** ```javascript netConnection.register(function (error) { console.log(JSON.stringify(error)) }) ``` ### unregister unregister(callback: AsyncCallback\): void Unregisters the listener for network status changes. **System capability**: SystemCapability.Communication.NetManager.Core **Parameters** | Name | Type | Mandatory| Description | | -------- | -------------------- | ---- | ---------- | | callback | AsyncCallback\ | Yes | Callback used to return the result.| **Example** ```javascript netConnection.unregister(function (error) { console.log(JSON.stringify(error)) }) ``` ## NetHandle Defines the handle of the data network. Before invoking **NetHandle** APIs, call **getNetHandle** to obtain a **NetHandle** object. **System capability**: SystemCapability.Communication.NetManager.Core ### Attributes | Name| Type | Description | | ------ | ------ | ------------------------- | | netId | number | Network ID. The value must be greater than or equal to **100**.| ### bindSocket bindSocket(socketParam: TCPSocket | UDPSocket, callback: AsyncCallback<void>): void Binds a **TCPSocket** or **UDPSocket** object to the data network. This API uses an asynchronous callback to return the result. **System capability**: SystemCapability.Communication.NetManager.Core **Parameters** | Name | Type | Mandatory| Description | | ----------- | ------------------------- | ---- | ---------------- | | socketParam | TCPSocket \| UDPSocket | Yes | **TCPSocket** or **UDPSocket** object.| | callback | AsyncCallback<void> | Yes | Callback used to return the result. | **Example** ``` // Bind the TCPSocket object. connection.getDefaultNet().then(function (netHandle) { let tcpSocket = socket.constructTCPSocketInstance() netHandle.bindSocket(tcpSocket, (function (error) { console.log(JSON.stringify(error)) })) }) // Bind the UDPSocket object. connection.getDefaultNet().then(function (netHandle) { let udpSocket = socket.constructUDPSocketInstance() netHandle.bindSocket(udpSocket, (function (error) { console.log(JSON.stringify(error)) })) }) ``` ### bindSocket bindSocket(socketParam: TCPSocket | UDPSocket): Promise<void> Binds a **TCPSocket** or **UDPSocket** object to the data network. This API uses a promise to return the result. **System capability**: SystemCapability.Communication.NetManager.Core **Parameters** | Name | Type | Mandatory| Description | | ----------- | ------------------------------------------------------------ | ---- | ------------------------------------------------------------ | | socketParam | TCPSocket \| UDPSocket | Yes | **TCPSocket** or **UDPSocket** object.| **Return value** | Type | Description | | ------------------- | --------------------------- | | Promise<void> | Promise used to return the result.| **Example** ``` // Bind the TCPSocket object. connection.getDefaultNet().then(function (netHandle) { let tcpSocket = socket.constructTCPSocketInstance() netHandle.bindSocket(tcpSocket).then(function () { console.log("bind socket success") }) }) // Bind the UDPSocket object. connection.getDefaultNet().then(function (netHandle) { let udpSocket = socket.constructUDPSocketInstance() netHandle.bindSocket(udpSocket).then(function () { console.log("bind socket success") }) }) ``` ### getAddressesByName getAddressesByName(host: string, callback: AsyncCallback\>): void Resolves the host name by using the corresponding network to obtain all IP addresses. This API uses an asynchronous callback to return the result. **System capability**: SystemCapability.Communication.NetManager.Core **Parameters** | Name | Type | Mandatory| Description | | -------- | ------------------------------------------------- | ---- | ------------------ | | host | string | Yes | Host name to resolve.| | callback | AsyncCallback\> | Yes | Callback used to return the result. | **Example** ```javascript connection.getDefaultNet().then(function (netHandle) { let host = "xxxx"; netHandle.getAddressesByName(host, function (error, addresses) { console.log(JSON.stringify(error)) console.log(JSON.stringify(addresses)) }) }) ``` ### getAddressesByName getAddressesByName(host: string): Promise\> Resolves the host name by using the corresponding network to obtain all IP addresses. This API uses a promise to return the result. **System capability**: SystemCapability.Communication.NetManager.Core **Parameters** | Name| Type | Mandatory| Description | | ------ | ------ | ---- | ------------------ | | host | string | Yes | Host name to resolve.| **Return value** | Type | Description | | ------------------------------------------- | ----------------------------- | | Promise\> | Promise used to return the result.| **Example** ```javascript connection.getDefaultNet().then(function (netHandle) { let host = "xxxx"; netHandle.getAddressesByName(host).then(function (addresses) { console.log(JSON.stringify(addresses)) }) }) ``` ### getAddressByName getAddressByName(host: string, callback: AsyncCallback\): void Resolves the host name by using the corresponding network to obtain the first IP address. This API uses an asynchronous callback to return the result. **System capability**: SystemCapability.Communication.NetManager.Core **Parameters** | Name | Type | Mandatory| Description | | -------- | ----------------------------------------- | ---- | ------------------ | | host | string | Yes | Host name to resolve.| | callback | AsyncCallback\<[NetAddress](#netaddress)> | Yes | Callback used to return the result. | **Example** ```javascript connection.getDefaultNet().then(function (netHandle) { let host = "xxxx"; netHandle.getAddressByName(host, function (error, address) { console.log(JSON.stringify(error)) console.log(JSON.stringify(address)) }) }) ``` ### getAddressByName getAddressByName(host: string): Promise\ Resolves the host name by using the corresponding network to obtain the first IP address. This API uses a promise to return the result. **System capability**: SystemCapability.Communication.NetManager.Core **Parameters** | Name| Type | Mandatory| Description | | ------ | ------ | ---- | ------------------ | | host | string | Yes | Host name to resolve.| **Return value** | Type | Description | | ----------------------------------- | ------------------------------- | | Promise\<[NetAddress](#netaddress)> | Promise used to return the result.| **Example** ```javascript connection.getDefaultNet().then(function (netHandle) { let host = "xxxx"; netHandle.getAddressByName(host).then(function (address) { console.log(JSON.stringify(address)) }) }) ``` ## NetSpecifier Provides an instance that bears data network capabilities. **System capability**: SystemCapability.Communication.NetManager.Core | Name | Type | Description | | ----------------------- | ----------------------------------- | ------------------------------------------------------------ | | netCapabilities | [NetCapabilities](#netcapabilities) | Network transmission capabilities and bearer types of the data network. | | bearerPrivateIdentifier | string | Network identifier. The identifier of a Wi-Fi network is **wifi**, and that of a cellular network is **slot0** (corresponding to SIM card 1).| ## NetCapabilities Defines the network capability set. **System capability**: SystemCapability.Communication.NetManager.Core | Name | Type | Description | | --------------------- | ---------------------------------- | ------------------------ | | linkUpBandwidthKbps | number | Uplink (from the device to the network) bandwidth.| | linkDownBandwidthKbps | number | Downlink (from the network to the device) bandwidth.| | networkCap | Array<[NetCap](#netcap)> | Network capability. | | bearerTypes | Array<[NetBearType](#netbearType)> | Network type. | ## NetCap Defines the network capability. **System capability**: SystemCapability.Communication.NetManager.Core | Name | Value α | Description | | ------------------------ | ---- | ---------------------- | | NET_CAPABILITY_MMS | 0 | The network can connect to the carrier's Multimedia Messaging Service Center (MMSC) to send and receive multimedia messages.| | NET_CAPABILITY_NOT_METERED | 11 | The network traffic is not metered.| | NET_CAPABILITY_INTERNET | 12 | The network can connect to the Internet.| | NET_CAPABILITY_NOT_VPN | 15 | The network does not use a Virtual Private Network (VPN).| | NET_CAPABILITY_VALIDATED | 16 | The network is available. | ## NetBearType Defines the network type. **System capability**: SystemCapability.Communication.NetManager.Core | Name | Value α | Description | | --------------- | ---- | ----------- | | BEARER_CELLULAR | 0 | Cellular network | | BEARER_WIFI | 1 | Wi-Fi network| | BEARER_ETHERNET | 3 | Ethernet network| ## ConnectionProperties Defines the network connection properties. **System capability**: SystemCapability.Communication.NetManager.Core | Name | Type | Description | | ------------- | ---------------------------------- | ---------------- | | interfaceName | string | NIC card name. | | domains | string | Domain. The default value is **""**.| | linkAddresses | Array<[LinkAddress](#linkaddress)> | Link information. | | routes | Array<[RouteInfo](#routeinfo)> | Route information. | | dnses | Array<[NetAddress](#netaddress)> | Network address. For details, see [NetAddress](#netaddress).| | mtu | number | Maximum transmission unit (MTU). | ## LinkAddress Defines network link information. **System capability**: SystemCapability.Communication.NetManager.Core | Name | Type | Description | | ------------ | ------------------------- | -------------------- | | address | [NetAddress](#netaddress) | Link address. | | prefixLength | number | Length of the link address prefix.| ## RouteInfo Defines network route information. **System capability**: SystemCapability.Communication.NetManager.Core | Name | Type | Description | | -------------- | --------------------------- | ---------------- | | interface | string | NIC card name. | | destination | [LinkAddress](#linkaddress) | Destination IP address. | | gateway | [NetAddress](#netaddress) | Gateway address. | | hasGateway | boolean | Whether a gateway is present. | | isDefaultRoute | boolean | Whether the route is the default route.| ## NetAddress Defines the network address. **System capability**: SystemCapability.Communication.NetManager.Core | Name | Type | Description | | ------- | ------ | ------------------------------ | | address | string | Network address. | | family | number | Address family identifier. The value is **1** for IPv4 and **2** for IPv6. The default value is **1**.| | port | number | Port number. The value range is 0 to 65535. |