tcp独立进程

This commit is contained in:
lixiao 2025-05-19 11:36:10 +08:00
parent 54925cad67
commit 524b0f354e
3 changed files with 13 additions and 10 deletions

View File

@ -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)
if (!udpGps1) {
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 (!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)) {

View File

@ -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)
});

View File

@ -1,7 +1,7 @@
//考试回放开关
export const judgeConfig = {
// 外壳版本号
version: "2025.05.17.01",
version: "2025.05.19.01",
// 是否A1A3共用一车
isUseSameCar: false,
//本地目录开关