import TcpClient from './TcpClient'; import { getSyncData } from '../service/initable' import hilog from '@ohos.hilog'; export async function getTCP(flag?) { getSyncData('IpConfigTable').then(async (result: Array) => { console.log('result222', JSON.stringify(result)) if (result.length) { if (globalThis.TcpClient && globalThis.TcpClient.closeTcp) { globalThis.TcpClient.closeTcp(async () => { if(!flag){ return } 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(globalThis.carInfo?.carNo || '402') //1002 await globalThis.TcpClient.onMessage((val) => { hilog.info(0x0000, 'testTag', "valvalval1" + JSON.stringify(val)); // console.log('valvalval',val) setTimeout(() => { globalThis.TcpClient.sendMsg(globalThis.carInfo?.carNo || '402') //1002 if (val && globalThis.udpClient && globalThis.udpClient.sendMsg) { // const msg=val.substring(5,val.length-1) globalThis.udpClient?.sendMsg(val) } }, 1000) }) globalThis.TcpClient.onError(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(globalThis.carInfo?.carNo || '402') //1002 await globalThis.TcpClient.onMessage((val) => { hilog.info(0x0000, 'testTag', "valvalval1" + JSON.stringify(val)); // console.log('valvalval',val) setTimeout(() => { globalThis.TcpClient.sendMsg(globalThis.carInfo?.carNo || '402') //1002 if (val && globalThis.udpClient && globalThis.udpClient.sendMsg) { // const msg=val.substring(5,val.length-1) globalThis.udpClient?.sendMsg(val) } }, 1000) }) }) },1000) }) } else { // prompt.showToast({ // message:'初始化localIp'+ result[0].localIp+ result[0].localIpPort+'oppositeIp'+result[0].oppositeIp+result[0].oppositeIpPort, // duration: 1000 // }); 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(globalThis.carInfo?.carNo || '402') //1002 await globalThis.TcpClient.onMessage((val) => { hilog.info(0x0000, 'testTag', "valvalval2" + JSON.stringify(val)); setTimeout(() => { globalThis.TcpClient.sendMsg(globalThis.carInfo?.carNo || '402') //1002 if (val && globalThis.udpClient && globalThis.udpClient.sendMsg) { // const msg=val.substring(5,val.length-1) globalThis.udpClient?.sendMsg(val) } }, 1000) }) globalThis.TcpClient.onError(async () => { 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(globalThis.carInfo?.carNo || '402') //1002 await globalThis.TcpClient.onMessage((val) => { hilog.info(0x0000, 'testTag', "valvalval2" + JSON.stringify(val)); setTimeout(() => { globalThis.TcpClient.sendMsg(globalThis.carInfo?.carNo || '402') //1002 if (val && globalThis.udpClient && globalThis.udpClient.sendMsg) { // const msg=val.substring(5,val.length-1) 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()