From 524b0f354e253ad6865aa6a62a70b1ced9a3ba33 Mon Sep 17 00:00:00 2001 From: lixiao <932184220@qq.com> Date: Mon, 19 May 2025 11:36:10 +0800 Subject: [PATCH] =?UTF-8?q?tcp=E7=8B=AC=E7=AB=8B=E8=BF=9B=E7=A8=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- entry/src/main/ets/common/utils/GlobalTcp.ts | 14 ++++++-------- entry/src/main/ets/common/utils/TcpClient.ts | 7 ++++++- .../main/ets/pages/judgeSDK/utils/judgeConfig.ts | 2 +- 3 files changed, 13 insertions(+), 10 deletions(-) diff --git a/entry/src/main/ets/common/utils/GlobalTcp.ts b/entry/src/main/ets/common/utils/GlobalTcp.ts index 96eff603..a7c374c8 100644 --- a/entry/src/main/ets/common/utils/GlobalTcp.ts +++ b/entry/src/main/ets/common/utils/GlobalTcp.ts @@ -7,15 +7,12 @@ let tcpClient: TcpClient = null let udpGps1: UdpClientByCenter = null let udpGps2: UdpClientByCenter = null let tick: number -let lastTime = new Date() +let lastTime: Date export async function getTCP(flag = false) { if (tcpClient && !flag) { return } - if (flag) { - console.log("tcp 重启服务") - } const fileUtil = new FileUtil(globalThis.context) const data = await fileUtil.readFile(GlobalConfig.comoonfileWriteAddress + '/config/ipConfig.txt'); if (data === '' || data === undefined) { @@ -24,9 +21,10 @@ export async function getTCP(flag = false) { const result = JSON.parse(data) console.log("tcp init", result.tcplocalIp, result.tcplocalIpPort, result.tcpOppositeIp, result.tcpOppositePort) tcpClient = new TcpClient(result.tcplocalIp, result.tcplocalIpPort, result.tcpOppositeIp, result.tcpOppositePort) - udpGps1 = new UdpClientByCenter(result.udplocalIp, (Number(result.udplocalIpPort) + 10).toString(), result.udpOppositeIp, result.udpOppositeIpPort) - console.log("tcp udp port", result.udplocalIp, (Number(result.udplocalIpPort) + 10).toString(), result.udpOppositeIp, result.udpOppositeIpPort) - if (result.udpOppositeIp2) { + if (!udpGps1) { + udpGps1 = new UdpClientByCenter(result.udplocalIp, (Number(result.udplocalIpPort) + 10).toString(), result.udpOppositeIp, result.udpOppositeIpPort) + } + if (!udpGps2 && result.udpOppositeIp2) { udpGps2 = new UdpClientByCenter(result.udplocalIp, (Number(result.udplocalIpPort) + 11).toString(), result.udpOppositeIp2, (Number(result.udpOppositeIpPort) + 1).toString()) } udpGps1?.bindUdp() @@ -34,7 +32,7 @@ export async function getTCP(flag = false) { await tcpClient?.bindTcp() await tcpClient?.connectTcp() clearInterval(tick) - + lastTime = new Date() tick = setInterval(() => { let now = new Date() if (now.getTime() - lastTime.getTime() > (1000 * 6)) { diff --git a/entry/src/main/ets/common/utils/TcpClient.ts b/entry/src/main/ets/common/utils/TcpClient.ts index cc269de5..fc6adb3b 100644 --- a/entry/src/main/ets/common/utils/TcpClient.ts +++ b/entry/src/main/ets/common/utils/TcpClient.ts @@ -40,6 +40,7 @@ export default class TcpClient { resolve(true) }).catch(err => { console.log("tcp bind error: ", JSON.stringify(err)) + console.log("tcp 重启服务") getTCP(true) reject(err) }) @@ -53,6 +54,7 @@ export default class TcpClient { address: this.oppositeIp, port: Number(this.oppositeIpPort), family: 1 }, timeout: 1000 * 15 }).then(() => { + console.log("tcp connect success") return this.tcp.setExtraOptions({ keepAlive: true }) @@ -60,6 +62,7 @@ export default class TcpClient { resolve(true) }).catch(err => { console.log("tcp connect or keepAlive error: ", JSON.stringify(err)) + console.log("tcp 重启服务") getTCP(true) reject(err) }) @@ -67,10 +70,11 @@ export default class TcpClient { } sendMsg(msg: string) { - this.tcp.send({ + return this.tcp.send({ data: msg }).catch(err => { console.log("tcp send error: ", JSON.stringify(err)) + console.log("tcp 重启服务") this.tcpSendNum++ if (this.tcpSendNum > 10) { getTCP(true) @@ -105,6 +109,7 @@ export default class TcpClient { resolve(true) }).catch(err => { console.log('close tcp error: ', JSON.stringify(err)) + console.log("tcp 重启服务") getTCP(true) reject(err) }); diff --git a/entry/src/main/ets/pages/judgeSDK/utils/judgeConfig.ts b/entry/src/main/ets/pages/judgeSDK/utils/judgeConfig.ts index 3501ca97..84ef8874 100644 --- a/entry/src/main/ets/pages/judgeSDK/utils/judgeConfig.ts +++ b/entry/src/main/ets/pages/judgeSDK/utils/judgeConfig.ts @@ -1,7 +1,7 @@ //考试回放开关 export const judgeConfig = { // 外壳版本号 - version: "2025.05.17.01", + version: "2025.05.19.01", // 是否A1A3共用一车 isUseSameCar: false, //本地目录开关