133 lines
5.0 KiB
TypeScript
133 lines
5.0 KiB
TypeScript
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() {
|
|
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)
|
|
if (globalThis.TcpClient && globalThis.TcpClient.closeTcp) {
|
|
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.tcplocalIp, result.tcplocalIpPort, result.tcpOppositeIp, result.tcpOppositePort)
|
|
await globalThis.TcpClient.connectTcp()
|
|
await globalThis.TcpClient.sendMsg('1002') //1002
|
|
globalThis.TcpClient.onError((val) => {
|
|
setTimeout(() => {
|
|
getTCP()
|
|
}, 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.tcplocalIp, result.tcplocalIpPort, result.tcpOppositeIp, result.tcpOppositePort)
|
|
globalThis.TcpClient = tcpClient
|
|
await globalThis.TcpClient.bindTcp()
|
|
await globalThis.TcpClient.connectTcp()
|
|
await globalThis.TcpClient.sendMsg('1002') //1002
|
|
globalThis.TcpClient.onError((val) => {
|
|
setTimeout(() => {
|
|
getTCP()
|
|
}, 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)
|
|
|
|
})
|
|
}
|
|
}
|
|
return
|
|
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 () => {
|
|
// 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(() => {
|
|
getTCP()
|
|
}, 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) => {
|
|
setTimeout(() => {
|
|
getTCP()
|
|
}, 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()
|