109 lines
4.6 KiB
TypeScript

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<any>) => {
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()