获取ip可以参考 https://developer.huawei.com/consumer/cn/doc/harmonyos-references-V5/js-apis-net-connection-V5使用connection.getAddressesByNametcp可以参考import { socket } from '@kit.NetworkKit'; import { BusinessError } from '@kit.BasicServicesKit'; // 创建一个TCPSocketServer连接,返回一个TCPSocketServer对象。 let tcpServer: socket.TCPSocketServer = socket.constructTCPSocketServerInstance(); // 绑定本地IP地址和端口,进行监听 let ipAddress : socket.NetAddress = {} as socket.NetAddress; ipAddress.address = "192.168.xxx.xxx"; ipAddress.port = 4651; tcpServer.listen(ipAddress).then(() => { console.log('listen success'); }).catch((err: BusinessError) => { console.log('listen fail'); }); class SocketInfo { message: ArrayBuffer = new ArrayBuffer(1); remoteInfo: socket.SocketRemoteInfo = {} as socket.SocketRemoteInfo; } // 订阅TCPSocketServer的connect事件 tcpServer.on("connect", (client: socket.TCPSocketConnection) => { // 订阅TCPSocketConnection相关的事件 client.on("close", () => { console.log("on close success"); }); client.on("message", (value: SocketInfo) => { let buffer = value.message; let dataView = new DataView(buffer); let str = ""; for (let i = 0; i < dataView.byteLength; ++i) { str += String.fromCharCode(dataView.getUint8(i)); } console.log("received message--:" + str); console.log("received address--:" + value.remoteInfo.address); console.log("received family--:" + value.remoteInfo.family); console.log("received port--:" + value.remoteInfo.port); console.log("received size--:" + value.remoteInfo.size); }); // 向客户端发送数据 let tcpSendOptions : socket.TCPSendOptions = {} as socket.TCPSendOptions; tcpSendOptions.data = 'Hello, client!'; client.send(tcpSendOptions).then(() => { console.log('send success'); }).catch((err: Object) => { console.error('send fail: ' + JSON.stringify(err)); }); // 关闭与客户端的连接 client.close().then(() => { console.log('close success'); }).catch((err: BusinessError) => { console.log('close fail'); }); // 取消TCPSocketConnection相关的事件订阅 setTimeout(() => { client.off("message"); client.off("close"); }, 10 * 1000); }); // 取消TCPSocketServer相关的事件订阅 setTimeout(() => { tcpServer.off("connect"); }, 30 * 1000);
获取ip可以参考 https://developer.huawei.com/consumer/cn/doc/harmonyos-references-V5/js-apis-net-connection-V5
使用connection.getAddressesByName
tcp可以参考