From 1be1d806f70b083345aec66b6427e04eae443068 Mon Sep 17 00:00:00 2001 From: lvyuankang <1344032923@qq.com> Date: Fri, 19 Jul 2024 09:21:47 +0800 Subject: [PATCH 1/2] =?UTF-8?q?host=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- entry/src/main/ets/common/utils/GlobalUdp.ts | 81 +++++++++++--------- entry/src/main/ets/pages/Index.ets | 8 +- 2 files changed, 48 insertions(+), 41 deletions(-) diff --git a/entry/src/main/ets/common/utils/GlobalUdp.ts b/entry/src/main/ets/common/utils/GlobalUdp.ts index 22643cfb..253d906a 100644 --- a/entry/src/main/ets/common/utils/GlobalUdp.ts +++ b/entry/src/main/ets/common/utils/GlobalUdp.ts @@ -8,45 +8,52 @@ export async function sendMsg(val) { } export async function getUDP() { - console.log(` getUDP enter`); - getSyncData('IpConfigTable').then((result: Array) => { - if (result.length) { - console.log(` getUDP has IPConfigTable `); - if (globalThis.udpClient && globalThis.udpClient.closeUdp) { - console.log(` getUDP has udclent close and rebind `); - globalThis.udpClient.closeUdp(() => { - setTimeout(() => { - globalThis.udpClient.rebindUdp(result[0].udplocalIp, result[0].udplocalIpPort, result[0].udpOppositeIp, result[0].udpOppositeIpPort) - globalThis.udpClient.sendMsg('111', null) - globalThis.host = `http://${result[0].centerIp}:${result[0].centerPort}` - // globalThis.udpClient.onError_resend(globalThis.udpClient.onMessage_1?globalThis.udpClient.onMessage_1:()=>{}) - }, 1000) - }) - } - else { - // 未绑定 - console.log(` getUDP has no udclent and bind `); - const udpClient: UdpClientByCenter = new UdpClientByCenter(result[0].udplocalIp, result[0].udplocalIpPort, result[0].udpOppositeIp, result[0].udpOppositeIpPort) - udpClient.bindUdp() - udpClient.sendMsg('111') - globalThis.host = `http://${result[0].centerIp}:${result[0].centerPort}` - // udpClient.onError_resend(globalThis.udpClient.onMessage_1?globalThis.udpClient.onMessage_1:()=>{}) - globalThis.udpClient = udpClient - getChuankouFn() - } + return new Promise((reslove,reject)=>{ + getSyncData('IpConfigTable').then((result: Array) => { + if (result.length) { + console.log(` getUDP has IPConfigTable `); + if (globalThis.udpClient && globalThis.udpClient.closeUdp) { + console.log(` getUDP has udclent close and rebind `); + globalThis.udpClient.closeUdp(() => { + setTimeout(() => { + globalThis.udpClient.rebindUdp(result[0].udplocalIp, result[0].udplocalIpPort, result[0].udpOppositeIp, result[0].udpOppositeIpPort) + globalThis.udpClient.sendMsg('111', null) + globalThis.host = `http://${result[0].centerIp}:${result[0].centerPort}` + reslove(`http://${result[0].centerIp}:${result[0].centerPort}`) + // globalThis.udpClient.onError_resend(globalThis.udpClient.onMessage_1?globalThis.udpClient.onMessage_1:()=>{}) + }, 1000) + }) + } + else { + // 未绑定 + console.log(` getUDP has no udclent and bind `); + const udpClient: UdpClientByCenter = new UdpClientByCenter(result[0].udplocalIp, result[0].udplocalIpPort, result[0].udpOppositeIp, result[0].udpOppositeIpPort) + udpClient.bindUdp() + udpClient.sendMsg('111') + globalThis.host = `http://${result[0].centerIp}:${result[0].centerPort}` + // udpClient.onError_resend(globalThis.udpClient.onMessage_1?globalThis.udpClient.onMessage_1:()=>{}) + globalThis.udpClient = udpClient + getChuankouFn() + reslove(`http://${result[0].centerIp}:${result[0].centerPort}`) - } else { - console.log(` getUDP has no IPConfigTable `); - // if(globalThis.udpClient) - // { - // console.log(` getUDP2 has IPConfigTable ,has udpClient ,close it`); - // globalThis.udpClient.closeUdp(async ()=>{ }) - // } - globalThis.udpClient = {} - // globalThis.udpClient.onMessage_1 = () => {} - globalThis.host = '' - } + } + + } else { + console.log(` getUDP has no IPConfigTable `); + // if(globalThis.udpClient) + // { + // console.log(` getUDP2 has IPConfigTable ,has udpClient ,close it`); + // globalThis.udpClient.closeUdp(async ()=>{ }) + // } + globalThis.udpClient = {} + // globalThis.udpClient.onMessage_1 = () => {} + globalThis.host = '' + reslove('') + + } + }) }) + } export async function getUDP2() { diff --git a/entry/src/main/ets/pages/Index.ets b/entry/src/main/ets/pages/Index.ets index 70ade659..3f759d11 100644 --- a/entry/src/main/ets/pages/Index.ets +++ b/entry/src/main/ets/pages/Index.ets @@ -269,13 +269,13 @@ struct Index { } } - onPageShow() { + async onPageShow() { this.loading = false this.createAlbum() - this.userAuth(); - getUDP() - getUDP2() + await getUDP() + await getUDP2() this.num=0 + this.userAuth(); clearInterval(this.interval) this.interval = setInterval(() => { this.num++ From 60a55f585d03865005c9f7c31cbae2804a992281 Mon Sep 17 00:00:00 2001 From: lvyuankang <1344032923@qq.com> Date: Fri, 19 Jul 2024 13:27:51 +0800 Subject: [PATCH 2/2] =?UTF-8?q?tcp=E9=87=8D=E8=BF=9E?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- entry/src/main/ets/common/utils/GlobalTcp.ts | 23 ++++++++++++++++---- entry/src/main/ets/common/utils/TcpClient.ts | 13 +++++++---- 2 files changed, 28 insertions(+), 8 deletions(-) diff --git a/entry/src/main/ets/common/utils/GlobalTcp.ts b/entry/src/main/ets/common/utils/GlobalTcp.ts index a96edf76..a709aed5 100644 --- a/entry/src/main/ets/common/utils/GlobalTcp.ts +++ b/entry/src/main/ets/common/utils/GlobalTcp.ts @@ -14,7 +14,16 @@ export async function getTCP() { await globalThis.TcpClient.rebindTcp(result[0].tcplocalIp, result[0].tcplocalIpPort,result[0].tcpOppositeIp,result[0].tcpOppositePort) await globalThis.TcpClient.connectTcp() await globalThis.TcpClient.sendMsg('1002')//1002 - globalThis.TcpClient.onError() + globalThis.TcpClient.onError((val)=>{ + setTimeout(()=>{ + globalThis.TcpClient.sendMsg('1002')//1002 + if(val){ + // const msg=val.substring(5,val.length-1) + console.log('socketTag[PLC.UdpClient] status:',globalThis.udpClient.getStatus()) + globalThis.udpClient?.sendMsg(val) + } + },1000) + }) await globalThis.TcpClient.onMessage((val)=>{ setTimeout(()=>{ globalThis.TcpClient.sendMsg('1002')//1002 @@ -35,14 +44,20 @@ export async function getTCP() { await globalThis.TcpClient.bindTcp() await globalThis.TcpClient.connectTcp() await globalThis.TcpClient.sendMsg('1002')//1002 - globalThis.TcpClient.onError() + globalThis.TcpClient.onError((val)=>{ + hilog.info(0x0000, 'testTag', "valvalval2" + JSON.stringify(val)); + setTimeout(()=>{ + globalThis.TcpClient.sendMsg('1002')//1002 + if(val&& globalThis.udpClient?.sendMsg){ + globalThis.udpClient?.sendMsg(val) + } + },1000) + }) await globalThis.TcpClient.onMessage((val)=>{ hilog.info(0x0000, 'testTag', "valvalval2" + JSON.stringify(val)); setTimeout(()=>{ globalThis.TcpClient.sendMsg('1002')//1002 if(val&& globalThis.udpClient?.sendMsg){ - // const msg=val.substring(5,val.length-1) - globalThis.udpClient?.sendMsg(val) } },1000) diff --git a/entry/src/main/ets/common/utils/TcpClient.ts b/entry/src/main/ets/common/utils/TcpClient.ts index 171a96f9..94b69093 100644 --- a/entry/src/main/ets/common/utils/TcpClient.ts +++ b/entry/src/main/ets/common/utils/TcpClient.ts @@ -24,7 +24,11 @@ export default class TcpClient { onError(callback?){ this.tcp.on('error', err => { console.log(TAG,'tcpOnerror', JSON.stringify(err)) - callback&&callback() + setTimeout(async ()=>{ + await this.bindTcp() + await this.connectTcp() + this.onMessage(callback) + },2000) // this.closeUdp(()=>{ // this.bindUdp() // }) @@ -107,12 +111,13 @@ export default class TcpClient { resolve(true) }).catch(err => { globalThis.getCloseTcp=true - + setTimeout(()=>{ + this.connectTcp() + },2000) console.log('testTagconnect,error') - resolve(false) + }); }) - } sendMsg(msg: string) {