import UdpClient from './UdpClient'; import UdpClientByCenter from './UdpClientByCenter'; import { getSyncData} from '../service/initable' import { dateFormat } from '../../common/utils/tools' import prompt from '@ohos.prompt' import TcpClient from './TcpClient'; import {string2Bytes} from '../../common/utils/tools' export async function sendMsg(val){ // globalThis.udpClient1&&globalThis.udpClient1.sendMsg(val) } export async function getUDP(flag:Boolean=false) { getSyncData('IpConfigTable').then((result:Array)=>{ if(result.length){ if(!flag){ return } if(globalThis.udpClient&&globalThis.udpClient.closeUdp){ globalThis.udpClient.closeUdp(()=>{ globalThis.udpClient.rebindUdp(result[0].udplocalIp, result[0].udplocalIpPort,result[0].udpOppositeIp,result[0].udpOppositeIpPort) globalThis.udpClient.sendMsg('111') globalThis.host=`http://${result[0].centerIp}:${result[0].centerPort}` globalThis.udpClient.onError(globalThis.udpClient.onMessage?globalThis.udpClient.onMessage:()=>{}) }) }else{ const udpClient: UdpClient =new UdpClient(result[0].udplocalIp, result[0].udplocalIpPort,result[0].udpOppositeIp,result[0].udpOppositeIpPort) udpClient.bindUdp() udpClient.sendMsg('111') globalThis.udpClient = udpClient globalThis.host=`http://${result[0].centerIp}:${result[0].centerPort}` globalThis.udpClient.onError(globalThis.udpClient.onMessage?globalThis.udpClient.onMessage:()=>{}) } }else{ globalThis.udpClient={} globalThis.udpClient.onMessage=()=>{} globalThis.host='' } }) } export async function getUDP2(flag:Boolean=false) { getSyncData('IpConfigTable').then(async (result:Array)=>{ if(result.length){ if(globalThis.udpClient2&&globalThis.udpClient2.closeUdp){ if(!flag){ return } globalThis.udpClient2.closeUdp(async ()=>{ globalThis.udpClient2.rebindUdp(result[0].udplocalIp, '8800',globalThis.carInfo?.udpAddress,globalThis.carInfo?.messagePort) globalThis.udpClient2.onMessage((val)=>{ }) globalThis.udpClient2.onError() globalThis.udpClient2.setMsgCallBack=()=>{} }) }else{ const udpClient: UdpClientByCenter =new UdpClientByCenter(result[0].udplocalIp, '8800',globalThis.carInfo?.udpAddress,globalThis.carInfo?.messagePort) globalThis.udpClient2 = udpClient globalThis.udpClient2.bindUdp() globalThis.udpClient2.onError() globalThis.udpClient2.onMessage((val)=>{ if(val.id=='32'){ globalThis.signNum=val.body[1] }else if(val.id=='46'){ let tmpList = [] const str = globalThis.lsh for (let i = 0;i < str.length; i++) { tmpList.push(this.string2Bytes(str.charCodeAt(i), 1 * 8)[0]) } const param = { id: 47, list: tmpList, carNo: globalThis.carInfo.carNo, placeId: globalThis.carInfo.examinationRoomId } globalThis.udpClient2.send(param) } }) } }else{ globalThis.udpClient2={} globalThis.udpClient2.onMessage=()=>{} globalThis.udpClient2.setMsgCallBack=()=>{} } }) } export async function setTopLineUdp(){ const config = await getSyncData('IpConfigTable'); if(config && config[0] && config[0].udplocalIp){ const {udplocalIp,udpOppositeIp,udpOppositeIpPort} = config[0]; const udpClient: UdpClientByCenter = new UdpClientByCenter(udplocalIp, '55509',udpOppositeIp,udpOppositeIpPort) udpClient.bindUdp() return { send(bytes){ udpClient.sendHeadMsg(bytes) } } } } // export async function setJudgeUdp(){ const config = await getSyncData('IpConfigTable'); let udpIndex = 0; let currentUdpIndex = 0; let judgeUdpTimer clearInterval(judgeUdpTimer) judgeUdpTimer = setInterval(()=>{ udpIndex += 1; },1000); if(config && config[0] && config[0].udplocalIp){ const {udplocalIp} = config[0]; const udpClient: UdpClientByCenter = new UdpClientByCenter(udplocalIp, '8080',globalThis.carInfo?.gpsAddress,globalThis.carInfo?.hintPort) udpClient.bindUdp() udpClient.onMessage((val)=>{ console.log('valval',val) }) globalThis.judgeUdpClient = udpClient; return { send(bytes){ if(udpIndex > currentUdpIndex){ udpClient.sendMsg({id:45,list:bytes,carNo:globalThis.carInfo.carNo,placeId:globalThis.carInfo.examinationRoomId}) currentUdpIndex = udpIndex } } } } } // globalThis.udpClient.bindUdp()