import TcpClient from './TcpClient'; import { getSyncData } from '../service/initable'; import hilog from '@ohos.hilog'; import FileUtil from '../../common/utils/File' import { GlobalConfig } from '../../config/index' export async function getTCP(flag=false) { globalThis.getCloseTcp=true const fileUtil = new FileUtil(globalThis.context) const data = await fileUtil.readFile(GlobalConfig.comoonfileWriteAddress + '/config/ipConfig.txt'); if (data === '' || data === undefined) { globalThis.TcpClient = {} globalThis.TcpClient.onMessage = () => { } }else{ const result = JSON.parse(data) const netOpen = result.netOpen //是否开启网络差分 if(netOpen != 1){ return } if (globalThis.TcpClient && globalThis.TcpClient.closeTcp&&!flag) { 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 () => { const tcpClient: TcpClient = new TcpClient(result.tcplocalIp, result.tcplocalIpPort, result.tcpOppositeIp, result.tcpOppositePort) globalThis.TcpClient = tcpClient await globalThis.TcpClient.bindTcp() // await globalThis.TcpClient.rebindTcp(result.tcplocalIp, result.tcplocalIpPort, result.tcpOppositeIp, result.tcpOppositePort) await globalThis.TcpClient.connectTcp() console.log('ttttttt0') // await globalThis.TcpClient.sendMsg(globalThis.carInfo.carNo) //1002 console.log('ttttttt00') clearInterval(globalThis.intervalSendmsg) globalThis.intervalSendmsg=setInterval(()=>{ console.log('getCloseTcp',globalThis.carInfo.carNo) if(!globalThis.getCloseTcp){ globalThis.TcpClient.sendMsg(globalThis.carInfo.carNo) //1002 } },1000/3) globalThis.TcpClient.onError((val) => { setTimeout(() => { getTCP() }, 1000) }) await globalThis.TcpClient.onMessage((val) => { setTimeout(() => { if (val) { globalThis.retClass?.sendDiffCorrections(val) } }, 1000) }) }, 2000) }) } else { const tcpClient: TcpClient = new TcpClient(result.tcplocalIp, result.tcplocalIpPort, result.tcpOppositeIp, result.tcpOppositePort) globalThis.TcpClient = tcpClient await globalThis.TcpClient.bindTcp() await globalThis.TcpClient.connectTcp() console.log('ttttttt1') await globalThis.TcpClient.sendMsg(globalThis.carInfo.carNo) //1002 console.log('ttttttt12') clearInterval(globalThis.intervalSendmsg) globalThis.intervalSendmsg=setInterval(()=>{ // console.log('getCloseTcp',globalThis.getCloseTcp) if(!globalThis.getCloseTcp){ globalThis.TcpClient.sendMsg(globalThis.carInfo.carNo) //1002 } },1000/3) globalThis.TcpClient.onError((val) => { setTimeout(() => { getTCP() }, 1000) }) await globalThis.TcpClient.onMessage((val) => { setTimeout(() => { if (val && globalThis.udpClient?.sendMsg) { globalThis.retClass?.sendDiffCorrections(val) } }, 1000) }) } } } // globalThis.udpClient.bindUdp()