socket连接NetAddress获取问题

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

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

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

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}]
HarmonyOS
2024-08-22 20:48:31
浏览
收藏 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连接问题
4068浏览 • 1回复 待解决
ohos.net.socket (Socket连接)链接不上
5516浏览 • 1回复 待解决
网络地址建立socket连接
671浏览 • 1回复 待解决
Socket连接报错,错误码88
1737浏览 • 1回复 待解决
Socket连接中支持发送哪些数据类型
1634浏览 • 1回复 待解决
HarmonyOS 经典蓝牙的socket通信问题
297浏览 • 1回复 待解决
获取当前WLAN连接信息
659浏览 • 1回复 待解决
HarmonyOS 连接WIFI的问题
28浏览 • 1回复 待解决
获取当前网络连接能力
723浏览 • 1回复 待解决
获取netHandle网络连接信息
564浏览 • 1回复 待解决
如何获取已经连接的wifi密码
544浏览 • 1回复 待解决
native创建socket会失败
1727浏览 • 1回复 待解决
HarmonyOS BLE 搜索、连接、断开等问题
519浏览 • 1回复 待解决
HarmonyOS蓝牙连接获取GATT服务失败
621浏览 • 1回复 待解决
连接网络信息获取有好的方案吗?
586浏览 • 1回复 待解决
mysql左连接的一个问题
2167浏览 • 1回复 待解决
Socket接口库可以绑定域名吗
482浏览 • 1回复 待解决
Socket有高概率收不到message
2058浏览 • 1回复 待解决