109 lines
3.8 KiB
TypeScript
109 lines
3.8 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'
|
|
const TAG = 'socketTag[TcpDemo.TcpClient]'
|
|
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(async()=>{
|
|
console.log('getCloseTcp',globalThis.carInfo.carNo)
|
|
if(!globalThis.getCloseTcp){
|
|
await globalThis.TcpClient.sendMsg(globalThis.carInfo.carNo) //1002
|
|
globalThis.tcpStep+=1
|
|
if(globalThis.tcpStep>30){
|
|
console.log(TAG,'tcp重连开始')
|
|
globalThis.tcpStep=0
|
|
getTCP()
|
|
}
|
|
}
|
|
},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(async()=>{
|
|
// console.log('getCloseTcp',globalThis.getCloseTcp)
|
|
if(!globalThis.getCloseTcp){
|
|
await globalThis.TcpClient.sendMsg(globalThis.carInfo.carNo) //1002
|
|
globalThis.tcpStep+=1
|
|
if(globalThis.tcpStep>30){
|
|
console.log(TAG,'tcp重连开始')
|
|
globalThis.tcpStep=0
|
|
getTCP()
|
|
}
|
|
}
|
|
},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()
|