//import UdpClient from './UdpClient'; import UdpClientByCenter from './UdpClientByCenter'; import { getSyncData} from '../service/initable' import {getChuankouFn} from '../../common/service/indexService' export async function sendMsg(val){ // globalThis.udpClient1&&globalThis.udpClient1.sendMsg(val) } export async function getUDP() { console.log(` getUDP enter`); getSyncData('IpConfigTable').then((result:Array)=> { if(result.length) { console.log(` getUDP has IPConfigTable `); if(globalThis.udpClient&&globalThis.udpClient.closeUdp) { console.log(` getUDP has udclent close and rebind `); globalThis.udpClient.closeUdp(()=>{ setTimeout(()=>{ globalThis.udpClient.rebindUdp(result[0].udplocalIp, result[0].udplocalIpPort,result[0].udpOppositeIp,result[0].udpOppositeIpPort) globalThis.udpClient.sendMsg('111',null) globalThis.host=`http://${result[0].centerIp}:${result[0].centerPort}` // globalThis.udpClient.onError_resend(globalThis.udpClient.onMessage?globalThis.udpClient.onMessage:()=>{}) },1000) }) } else{ // 未绑定 console.log(` getUDP has no udclent and bind `); const udpClient: UdpClientByCenter =new UdpClientByCenter(result[0].udplocalIp, result[0].udplocalIpPort,result[0].udpOppositeIp,result[0].udpOppositeIpPort) udpClient.bindUdp() udpClient.sendMsg('111') globalThis.host=`http://${result[0].centerIp}:${result[0].centerPort}` // udpClient.onError_resend(globalThis.udpClient.onMessage?globalThis.udpClient.onMessage:()=>{}) globalThis.udpClient = udpClient getChuankouFn() } }else { console.log(` getUDP has no IPConfigTable `); // if(globalThis.udpClient) // { // console.log(` getUDP2 has IPConfigTable ,has udpClient ,close it`); // globalThis.udpClient.closeUdp(async ()=>{ }) // } globalThis.udpClient={} globalThis.udpClient.onMessage_1=()=>{} globalThis.host='' } }) } export async function getUDP2() { console.log(` getUDP2 enter`); getSyncData('IpConfigTable').then(async (result:Array)=>{ if(result.length) { console.log(` getUDP2 has IPConfigTable `); if(globalThis.udpClient2) { console.log(` getUDP2 has udclent ,close and rebind `); globalThis.udpClient2.closeUdp(async ()=>{ setTimeout(()=>{ globalThis.udpClient2.rebindUdp(result[0].udplocalIp, '8800',globalThis.carInfo?.udpAddress,globalThis.carInfo?.messagePort) //保留原来的 // globalThis.udpClient2.onMessage((val)=>{ }) // globalThis.udpClient2.onError() // globalThis.udpClient2.setMsgCallBack=()=>{} },1000) }) } else { // 未绑定 console.log(` getUDP2 has no udclent and bind `); const udpClient2: UdpClientByCenter =new UdpClientByCenter(result[0].udplocalIp, '8800',globalThis.carInfo?.udpAddress,globalThis.carInfo?.messagePort) udpClient2.bindUdp() udpClient2.onError_Callback() udpClient2.onMessage_1((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) } }) globalThis.udpClient2 = udpClient2 } }else{ console.log(` getUDP2 has no IPConfigTable `); if(globalThis.udpClient2) { console.log(` getUDP2 has IPConfigTable ,has udpClient ,close it`); globalThis.udpClient2.closeUdp(async ()=>{ }) } globalThis.udpClient2={} globalThis.udpClient2.onMessage_2=()=>{} 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 udpClientbyCenter: UdpClientByCenter = new UdpClientByCenter(udplocalIp, '8080',globalThis.carInfo?.gpsAddress,globalThis.carInfo?.hintPort) udpClientbyCenter.bindUdp() udpClientbyCenter.onMessage_1((val)=>{ console.log('valval',val) }) // globalThis.judgeUdpClient = udpClientbyCenter; return { send(bytes){ if(udpIndex > currentUdpIndex){ udpClientbyCenter.sendMsgExt({id:45, list:bytes, carNo:globalThis.carInfo.carNo, placeId:globalThis.carInfo.examinationRoomId}) currentUdpIndex = udpIndex } } } } } // globalThis.udpClient.bindUdp()