网络地址建立socket连接

获取网址对应的IP地址并建立socket通信连接

HarmonyOS
2024-05-28 20:38:38
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
chenyi1976

使用的核心API

tcpSocket通信连接:@ohos.socket.tcpSocket

获取域名对应IP地址:@ohos.connection.getAddressesByName

核心代码解释

testTCPPing(host : string){ 
     connection.getAddressesByName(host, (error: BusinessError, data: connection.NetAddress[]) => { 
       if (error || !data || data.length == 0){ 
         console.info("error:"+JSON.stringify(error)) 
         return 
       }else { 
         let ia = {} as socket.NetAddress; 
         for (let i = 0; i < data.length; i++) { 
           if (data[i].family == 1) { 
             ia = data[i]; 
             console.info("ia add:" + JSON.stringify(ia)) 
           } 
         } 
         console.info("get address:" + JSON.stringify(ia)) 
       // 
       let tcp = socket.constructTCPSocketInstance(); 
       let str =""; 
  
           console.info("建立tcp地址连接") 
          
           let ipAddress: socket.NetAddress = {} as socket.NetAddress; 
           ipAddress.address = ia.address; 
           ipAddress.family = ia.family; 
          
           let tcpConnect: socket.TCPConnectOptions = {} as socket.TCPConnectOptions; 
           tcpConnect.address = ipAddress; 
           tcpConnect.timeout = 10000; 
           tcp.on('connect', () => { 
             console.log('connect success!!') 
           }); 
           tcp.connect(tcpConnect, (err: BusinessError) => { 
             if (err) { 
               str = 'connect failed!!' + JSON.stringify(err) 
               console.log('connect failed!!' + JSON.stringify(err)) 
             } else { 
               str = 'connect1 success!!' 
               console.log('connect1 success!!') 
             } 
           }); 
  
       } 
     }) 
  }

实现效果

注明适配的版本信息

IDE版本:4.1.3.500

SDK版本:HarmonyOS Next Developer Preview0

分享
微博
QQ
微信
回复
2024-05-29 21:42:56
相关问题
使用http请求网络地址
359浏览 • 1回复 待解决
ohos.net.socket (Socket连接)链接不上
4036浏览 • 1回复 待解决
openharmony 基于arkts的socket连接问题
2566浏览 • 1回复 待解决
Socket连接报错,错误码88
757浏览 • 1回复 待解决
有没有基于socket封装成熟的网络库?
544浏览 • 1回复 待解决
Socket连接中支持发送哪些数据类型
811浏览 • 1回复 待解决
获取当前网络连接能力
333浏览 • 1回复 待解决
获取netHandle网络连接信息
256浏览 • 1回复 待解决
网络连接管理connection中this指向问题
270浏览 • 1回复 待解决
如何获取正在连接的网卡的mac地址
560浏览 • 1回复 待解决
PolarDB 集群的连接地址包括哪两种?
1896浏览 • 1回复 待解决
连接网络信息获取有好的方案吗?
305浏览 • 1回复 待解决