socket连接NetAddress获取问题

在建立TCPSocket的时候需要传入一个NetAddress参数,这个参数有一个family属性用来指定是ipv4还是ipv6。

现在找到的解决方式是通过以下方式来获取NetAdress。

connection.getAddressesByName("2408:80f1:1e0 : 100::ff06", (error: BusinessError, data: connection.NetAddress[]) => {       
    //data      
}) 
  • 1.
  • 2.
  • 3.

HarmonyOS提供了获取adress list和单个adress的方法,请问在使用返回list的方法的时候,这些list列出的adresss有何区别?应该如何选取最优方案?还有在测试中发现返回的adress 列表是两个一摸一样的,如下

[{"address":"2408:80f1:1e0:100::ff06","family":2,"port":0},{"address":"2408:80f1:1e0:100::ff06","family":2,"port":0}]
  • 1.
HarmonyOS
2024-08-22 20:48:31
1019浏览
收藏 0
回答 1
回答 1
按赞同
/
按时间
Heiang

1、域名中可能同时设置有ipv4及ipv6类型的地址信息,使用getAddressesByName方式可将当前域名可访问的ip进行解析。

2、getAddressByName方式获取netHandle句柄中默认返回的第一个地址信息。

如当前使用场景对连接的ip类型或地址有特定要求,需要拿到某个域名的ipv6的地址类型,单独返回address类型的地址不一定可满足场景要求,此时可通过getAddressesByName方式做筛选

分享
微博
QQ
微信
回复
2024-08-23 22:25:59


相关问题
openharmony 基于arkts的socket连接问题
5103浏览 • 1回复 待解决
ohos.net.socket (Socket连接)链接不上
6727浏览 • 1回复 待解决
HarmonyOS socket tcp连接报错
906浏览 • 1回复 待解决
网络地址建立socket连接
1505浏览 • 1回复 待解决
HarmonyOS socket连接失败code: 103
738浏览 • 1回复 待解决
Socket连接报错,错误码88
2574浏览 • 1回复 待解决
Socket连接中支持发送哪些数据类型
2348浏览 • 1回复 待解决
HarmonyOS Tcp socket问题
928浏览 • 1回复 待解决
HarmonyOS socket 绑定IP问题
782浏览 • 1回复 待解决
HarmonyOS socket接收文件问题
828浏览 • 1回复 待解决
HarmonyOS 经典蓝牙的socket通信问题
1246浏览 • 1回复 待解决
获取当前WLAN连接信息
1429浏览 • 1回复 待解决
HarmonyOS 连接WIFI的问题
1512浏览 • 1回复 待解决