回复
#创作者激励#OpenHarmony如何获取网络的连接信息 原创
鸿蒙坚果派
发布于 2023-3-16 18:18
浏览
0收藏
【本文正在参加2023年第一期优质创作者激励计划】
如何获取网络的连接信息
坚果,润开鸿技术专家,InfoQ签约作者,OpenHarmony布道师,多个平台的专家博主。
主页:https://ost.51cto.com/person/posts/14830231
1.导入模块
//网络连接管理模块
import connection from '@ohos.net.connection'
2.connection.getConnectionProperties
function getConnectionProperties(netHandle: NetHandle): Promise<ConnectionProperties>;
获取netHandle对应的网络的连接信息,使用Promise方式作为异步方法。
需要权限:在module.json中配置
"requestPermissions": [
{
"name": "ohos.permission.GET_NETWORK_INFO"
}
],
代码
connection.getDefaultNet().then(function (netHandle) {
connection.getConnectionProperties(netHandle).then(function (info) {
console.info(JSON.stringify(info))
})
})
控制台输出
{"interfaceName":"wlan0","domains":"","mtu":0,"linkAddresses":[{"address":{"address":"192.168.43.91","family":0,"port":0},"prefixLength":24}],"routes":[{"interface":"wlan0","destination":{"address":"0.0.0.0","prefixLength":0},"gateway":{"address":"192.168.43.1","prefixLength":0},"hasGateway":true,"isDefaultRoute":false},{"interface":"wlan0","destination":{"address":"192.168.43.0","prefixLength":24},"gateway":{"address":"0.0.0.0","prefixLength":0},"hasGateway":true,"isDefaultRoute":false}],"dnses":[{"address":"192.168.43.1","family":0,"port":0},{"address":"8.8.8.8","family":0,"port":0}]}
参数说明
ConnectionProperties
网络连接信息。
- interfaceName:网卡名称。
- domains:所属域,默认""。
- linkAddresses:链路信息。LinkAddress类型
- routes:路由信息。
- dnses:网络地址,
- mtu最大传输单元。
LinkAddress
网络链路信息。
- address:链路地址。NetAddress
- prefixLength:链路地址前缀的长度。
RouteInfo
网络路由信息。
- interface:网卡名称。
- destination:目的地址。LinkAddress
- gateway:网关地址。NetAddress
- hasGateway: 是否有网关。
- isDefaultRoute:是否为默认路由。
NetAddress
网络地址。
- address: 地址。
- family:IPv4 = 1,IPv6 = 2,默认IPv4。
- port:端口,取值范围[0, 65535]。
©著作权归作者所有,如需转载,请注明出处,否则将追究法律责任
标签
已于2023-3-16 18:18:36修改
赞
收藏
回复
相关推荐