import TcpClient from './TcpClient'; import { getSyncData} from '../service/initable' import hilog from '@ohos.hilog'; export async function getTCP() { getSyncData('IpConfigTable').then(async (result:Array)=>{ console.log('result222',JSON.stringify(result)) if(result.length){ if(globalThis.TcpClient&&globalThis.getCloseTcp){ globalThis.TcpClient.closeTcp(async ()=>{ // const tcpClient: TcpClient =new TcpClient(result[0].tcplocalIp, result[0].tcplocalIpPort,result[0].tcpOppositeIp,result[0].tcpOppositePort) // globalThis.TcpClient = tcpClient setTimeout(async ()=>{ 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((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 if(val){ // const msg=val.substring(5,val.length-1) console.log('socketTag[PLC.UdpClient] status:',globalThis.udpClient.getStatus()) globalThis.udpClient?.sendMsg(val) } },1000) }) },2000) }) }else{ const tcpClient: TcpClient =new TcpClient(result[0].tcplocalIp, result[0].tcplocalIpPort,result[0].tcpOppositeIp,result[0].tcpOppositePort) globalThis.TcpClient = tcpClient await globalThis.TcpClient.bindTcp() await globalThis.TcpClient.connectTcp() await globalThis.TcpClient.sendMsg('1002')//1002 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){ globalThis.udpClient?.sendMsg(val) } },1000) }) } // globalThis.udpClient = new UdpClient(result[0].localIp, result[0].localIpPort,result[0].oppositeIp,result[0].oppositeIpPort) }else{ globalThis.TcpClient={} globalThis.TcpClient.onMessage=()=>{} } }) } // globalThis.udpClient.bindUdp()