评判udp优化

This commit is contained in:
lixiao 2025-04-07 14:46:26 +08:00
parent d3eee4a3a5
commit b073663570
6 changed files with 62 additions and 21 deletions

View File

@ -4,11 +4,13 @@ import window from '@ohos.window';
import { GlobalConfig } from '../config/global'; import { GlobalConfig } from '../config/global';
import Want from '@ohos.app.ability.Want'; import Want from '@ohos.app.ability.Want';
import AbilityConstant from '@ohos.app.ability.AbilityConstant'; import AbilityConstant from '@ohos.app.ability.AbilityConstant';
import { BaseInfoType, CarInfoType, ExaminerInfoType } from '../model'; import { BaseInfoType, CarInfoType, EnvironmentConfigurationType, ExaminerInfoType } from '../model';
import { tcpUtil } from '../utils/TcpRequest'; import { tcpUtil } from '../utils/TcpRequest';
import DB from '../utils/DbSql'; import DB from '../utils/DbSql';
import { DrivingDataStorage } from '../utils/business/DrivingDataStorage'; import { DrivingDataStorage } from '../utils/business/DrivingDataStorage';
import { InitTable } from '../utils/table/Operation'; import { InitTable } from '../utils/table/Operation';
import FileUtils from '../utils/FileUtils';
import { lightUDPClient } from '../utils/UdpUtils';
export default class EntryAbility extends UIAbility { export default class EntryAbility extends UIAbility {
async onCreate(want: Want, launchParam: AbilityConstant.LaunchParam) { async onCreate(want: Want, launchParam: AbilityConstant.LaunchParam) {
@ -17,23 +19,27 @@ export default class EntryAbility extends UIAbility {
await DB.init(this.context) await DB.init(this.context)
await InitTable() await InitTable()
console.log("sql first success") console.log("sql first success")
let fileUtil = new FileUtils(this.context)
const data = await fileUtil.readFile(GlobalConfig.comoonfileWriteAddress + '/config/ipConfig.txt');
if (data !== '' && data !== undefined) {
const result: EnvironmentConfigurationType = JSON.parse(data)
AppStorage.setOrCreate<EnvironmentConfigurationType>("EnvironmentConfiguration", result)
}
} catch (e) { } catch (e) {
console.error('sql first error', e) console.error('sql first error', e)
} }
hilog.info(0x0000, 'testTag', '%{public}s', 'Ability onCreate'); hilog.info(0x0000, 'testTag', '%{public}s', 'Ability onCreate');
} }
onDestroy() { onDestroy() {
const arrClose = [0x55, 0xaa, 0x01, 0x00, 0x02, 0x00, 0x03, 0x00] const arrClose = [0x55, 0xaa, 0x01, 0x00, 0x02, 0x00, 0x03, 0x00]
// TODO UDP缺失 // TODO UDP缺失
// globalThis?.lightLineUdp?.send(arrCloseBuffer); lightUDPClient.sendMsg(new Uint8Array(arrClose).buffer)
DrivingDataStorage.close() DrivingDataStorage.close()
hilog.info(0x0000, 'testTag', '%{public}s', 'Ability onDestroy'); hilog.info(0x0000, 'testTag', '%{public}s', 'Ability onDestroy');
} }
async onWindowStageCreate(windowStage: window.WindowStage) { async onWindowStageCreate(windowStage: window.WindowStage) {
// this.context
// Main window is created, set main page for this ability // Main window is created, set main page for this ability
hilog.info(0x0000, 'testTag', '%{public}s', 'Ability onWindowStageCreate'); hilog.info(0x0000, 'testTag', '%{public}s', 'Ability onWindowStageCreate');
await tcpUtil.init() await tcpUtil.init()

View File

@ -24,6 +24,7 @@ import { ObtainSignalData } from '../utils/business/ObtainSignalData';
import { CentralHeartbeat } from '../utils/business/CentralHeartbeat'; import { CentralHeartbeat } from '../utils/business/CentralHeartbeat';
import { DrivingDataStorage } from '../utils/business/DrivingDataStorage'; import { DrivingDataStorage } from '../utils/business/DrivingDataStorage';
import { initJudgeUdp } from '../utils/business/UdpJudge'; import { initJudgeUdp } from '../utils/business/UdpJudge';
import { centerUDPClient, judgeUDPClient, lightUDPClient, objUDPClient } from '../utils/UdpUtils';
@Entry @Entry
@ -499,7 +500,11 @@ struct Index {
async initParams() { async initParams() {
//设置plc udp 同步requesthost //设置plc udp 同步requesthost
// await getUDP(this.context, false) objUDPClient.init()
centerUDPClient.init()
lightUDPClient.init()
judgeUDPClient.init()
ObtainSignalData.init(); ObtainSignalData.init();
CentralHeartbeat.init(); CentralHeartbeat.init();
CentralHeartbeat.sendHeartData() CentralHeartbeat.sendHeartData()
@ -511,11 +516,9 @@ struct Index {
this.loading = false this.loading = false
await GetDeviceInfo(this.context) await GetDeviceInfo(this.context)
await GetCarInfo() await GetCarInfo()
// await getUDP2(this.context, false)
// getTCP() // getTCP()
this.carInfo = AppStorage.get<CarInfoType>('carInfo') this.carInfo = AppStorage.get<CarInfoType>('carInfo')
this.deviceId = this.carInfo.carNo this.deviceId = this.carInfo.carNo
// await setCurrentTime();
await SetCurrentTime() await SetCurrentTime()
this.timeInfo = AppStorage.get<TimeSynchronizationRspBody>('timeInfo') this.timeInfo = AppStorage.get<TimeSynchronizationRspBody>('timeInfo')
DrivingDataStorage.init(this.context) DrivingDataStorage.init(this.context)
@ -529,9 +532,7 @@ struct Index {
clearInterval(this.interval) clearInterval(this.interval)
this.interval = setInterval(() => { this.interval = setInterval(() => {
this.num++ this.num++
// setliushuiNum()
SetSerialNumber() SetSerialNumber()
// getliushuiNum(this.context)
if (this.num >= 3) { if (this.num >= 3) {
this.heartMsg() this.heartMsg()
} }

View File

@ -150,9 +150,6 @@ struct Index {
this.inputTextList1[10] = result.udplocalIpPort this.inputTextList1[10] = result.udplocalIpPort
this.inputTextList1[7] = result.udpOppositeIp this.inputTextList1[7] = result.udpOppositeIp
this.inputTextList1[8] = result.udpOppositeIpPort this.inputTextList1[8] = result.udpOppositeIpPort
// this.inputTextList1[0]=result[0].tcplocalIp
// this.inputTextList1[13]=result[0].tcplocalIpPort
this.inputTextList1[0] = result.tcpOppositeIp this.inputTextList1[0] = result.tcpOppositeIp
this.inputTextList1[1] = result.tcpOppositePort this.inputTextList1[1] = result.tcpOppositePort
this.inputTextList1[5] = result.gateway this.inputTextList1[5] = result.gateway

View File

@ -65,7 +65,7 @@ export default class TcpClient {
return this.tcp?.close() return this.tcp?.close()
} }
onMessage(callback: Function) { onMsg(callback: Function) {
this.events.push(callback) this.events.push(callback)
} }
@ -86,5 +86,3 @@ export default class TcpClient {
this.events = this.events.filter(cb => cb !== callback) this.events = this.events.filter(cb => cb !== callback)
} }
} }
// export const tcpClient = new TcpClient()

View File

@ -127,6 +127,16 @@ export default class UdpClient {
// 获取后置机信号 // 获取后置机信号
class ObjUdpClient extends UdpClient { class ObjUdpClient extends UdpClient {
private static instance: ObjUdpClient
constructor() {
super()
if (!ObjUdpClient.instance) {
ObjUdpClient.instance = this
}
return ObjUdpClient.instance
}
async init(): Promise<void> { async init(): Promise<void> {
return new Promise((resolve, reject) => { return new Promise((resolve, reject) => {
try { try {
@ -147,8 +157,18 @@ class ObjUdpClient extends UdpClient {
} }
} }
// 中心发送GPS消息 // 中心
class CenterUDPClient extends UdpClient { class CenterUDPClient extends UdpClient {
private static instance: CenterUDPClient
constructor() {
super()
if (!CenterUDPClient.instance) {
CenterUDPClient.instance = this
}
return CenterUDPClient.instance
}
async init(): Promise<void> { async init(): Promise<void> {
return new Promise((resolve, reject) => { return new Promise((resolve, reject) => {
try { try {
@ -170,6 +190,16 @@ class CenterUDPClient extends UdpClient {
// 顶灯 // 顶灯
class LightUDPClient extends UdpClient { class LightUDPClient extends UdpClient {
private static instance: LightUDPClient
constructor() {
super()
if (!LightUDPClient.instance) {
LightUDPClient.instance = this
}
return LightUDPClient.instance
}
async init(): Promise<void> { async init(): Promise<void> {
return new Promise((resolve, reject) => { return new Promise((resolve, reject) => {
try { try {
@ -191,9 +221,18 @@ class LightUDPClient extends UdpClient {
} }
// 评判udp // 评判udp
class JudgeUdp extends UdpClient { class JudgeUdpClient extends UdpClient {
private udpIndex = 0; private udpIndex = 0;
private currentUdpIndex = 0; private currentUdpIndex = 0;
private static instance: JudgeUdpClient
constructor() {
super()
if (!JudgeUdpClient.instance) {
JudgeUdpClient.instance = this
}
return JudgeUdpClient.instance
}
async init(): Promise<void> { async init(): Promise<void> {
return new Promise((resolve, reject) => { return new Promise((resolve, reject) => {
@ -257,11 +296,11 @@ class JudgeUdp extends UdpClient {
// obj // obj
export const objUDPClient = new ObjUdpClient() export const objUDPClient = new ObjUdpClient()
// 中心GPS // 中心
export const centerUDPClient = new CenterUDPClient() export const centerUDPClient = new CenterUDPClient()
// // 灯
export const lightUDPClient = new LightUDPClient() export const lightUDPClient = new LightUDPClient()
// 评判 // 评判
export const judgeUDPClient = new JudgeUdp() export const judgeUDPClient = new JudgeUdpClient()

View File

@ -29,7 +29,7 @@ class differentialSignal {
// 获取消息 // 获取消息
getData(callback: (data: ArrayBuffer) => void) { getData(callback: (data: ArrayBuffer) => void) {
this.differentialSignalTcp.onMessage((data: ArrayBuffer) => { this.differentialSignalTcp.onMsg((data: ArrayBuffer) => {
callback(data); callback(data);
}); });
} }