GlobalUdp.ts 优化 #13
| @ -1,98 +1,232 @@ | |||||||
| import UdpClient from './UdpClient'; | import UdpClient from './UdpClient'; | ||||||
| import UdpClientByCenter from './UdpClientByCenter'; | import UdpClientByCenter from './UdpClientByCenter'; | ||||||
| import { getSyncData} from '../service/initable' | import { getSyncData } from '../service/initable' | ||||||
| import { dateFormat } from '../../common/utils/tools' | import { fillZero, string2Bytes } from '../utils/tools' | ||||||
| import prompt from '@ohos.prompt' | 
 | ||||||
| import TcpClient from './TcpClient'; | interface UdpOption { | ||||||
| import {string2Bytes} from '../../common/utils/tools' |   udplocalIp: string | ||||||
| export async function sendMsg(val){ |   udplocalIpPort: string | ||||||
|   // globalThis.udpClient1&&globalThis.udpClient1.sendMsg(val)
 |   udpOppositeIp: string | ||||||
|  |   udpOppositeIpPort: string | ||||||
| } | } | ||||||
| export async function getUDP(flag:Boolean=false) { | 
 | ||||||
|   getSyncData('IpConfigTable').then((result:Array<any>)=>{ | export default class UdpUtils { | ||||||
|     if(result.length){ |   private static config: UdpOption | ||||||
|       if(!flag){ | 
 | ||||||
|  |   public static async getConfig() { | ||||||
|  |     this.config = ((await getSyncData("IpConfigTable")) as Array<any> || [])[0] | ||||||
|  |   } | ||||||
|  | 
 | ||||||
|  |   public static async createUdpClient(client: UdpClient | UdpClientByCenter, udpConfig: UdpOption, type: string, onMessage?: Function) { | ||||||
|  |     if (!this.config) { | ||||||
|  |       return [{ | ||||||
|  |         onMessage: () => { | ||||||
|  |         } | ||||||
|  |       }, ""] | ||||||
|  |     } | ||||||
|  |     if (client) { | ||||||
|  |       await client.closeUdp() | ||||||
|  |       client.rebindUdp(udpConfig.udplocalIp, udpConfig.udplocalIpPort, udpConfig.udpOppositeIp, udpConfig.udpOppositeIpPort) | ||||||
|  |     } else { | ||||||
|  |       if (type === "1") { | ||||||
|  |         client = new UdpClient(udpConfig.udplocalIp, udpConfig.udplocalIpPort, udpConfig.udpOppositeIp, udpConfig.udpOppositeIpPort) | ||||||
|  |       } else { | ||||||
|  |         client = new UdpClientByCenter(udpConfig.udplocalIp, udpConfig.udplocalIpPort, udpConfig.udpOppositeIp, udpConfig.udpOppositeIpPort) | ||||||
|  |       } | ||||||
|  |       client.bindUdp() | ||||||
|  |     } | ||||||
|  |     if (type === "1") { | ||||||
|  |       client.sendMsg("111") | ||||||
|  |     } | ||||||
|  |     client.onMessage(onMessage || (() => { | ||||||
|  |     })) | ||||||
|  |     client.onError(client.onMessage || (() => { | ||||||
|  |     })) | ||||||
|  |     return [client, `http://${this.config[0].centerIp}:${this.config[0].centerPort}`] | ||||||
|  |   } | ||||||
|  | 
 | ||||||
|  |   public static async getUdp(client: UdpClient) { | ||||||
|  |     return this.createUdpClient(client, { | ||||||
|  |       udplocalIp: this.config.udplocalIp, | ||||||
|  |       udplocalIpPort: this.config.udplocalIpPort, | ||||||
|  |       udpOppositeIp: this.config.udpOppositeIp, | ||||||
|  |       udpOppositeIpPort: this.config.udpOppositeIpPort | ||||||
|  |     }, "1") | ||||||
|  |   } | ||||||
|  | 
 | ||||||
|  |   public static async getUdp2(client: UdpClient) { | ||||||
|  |     return this.createUdpClient(client, { | ||||||
|  |       udplocalIp: this.config.udplocalIp, | ||||||
|  |       udplocalIpPort: "8800", | ||||||
|  |       udpOppositeIp: globalThis.carInfo?.udpAddress, | ||||||
|  |       udpOppositeIpPort: globalThis.carInfo?.messagePort | ||||||
|  |     }, "2", (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(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) | ||||||
|  |       } | ||||||
|  |     }) | ||||||
|  |   } | ||||||
|  | 
 | ||||||
|  |   public static async setTopLineUdp() { | ||||||
|  |     if (this.config && this.config.udplocalIp) { | ||||||
|  |       const {udplocalIp,udpOppositeIp,udpOppositeIpPort} = this.config; | ||||||
|  |       const udpClient: UdpClientByCenter = new UdpClientByCenter(udplocalIp, '55509', udpOppositeIp, udpOppositeIpPort) | ||||||
|  |       udpClient.bindUdp() | ||||||
|  |       return { | ||||||
|  |         send(bytes) { | ||||||
|  |           udpClient.sendHeadMsg(bytes) | ||||||
|  |         } | ||||||
|  |       } | ||||||
|  |     } | ||||||
|  |   } | ||||||
|  | 
 | ||||||
|  |   public static async setJudgeUdp() { | ||||||
|  |     let udpIndex = 0; | ||||||
|  |     let currentUdpIndex = 0; | ||||||
|  |     let judgeUdpTimer | ||||||
|  |     clearInterval(judgeUdpTimer) | ||||||
|  |     judgeUdpTimer = setInterval(() => { | ||||||
|  |       udpIndex += 1; | ||||||
|  |     }, 1000); | ||||||
|  | 
 | ||||||
|  |     if (this.config && this.config.udplocalIp) { | ||||||
|  |       const {udplocalIp} = this.config; | ||||||
|  |       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 | ||||||
|  |           } | ||||||
|  |         } | ||||||
|  |       } | ||||||
|  |     } | ||||||
|  |   } | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | export async function sendMsg(val) { | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | export async function getUDP(flag: Boolean = false) { | ||||||
|  |   getSyncData('IpConfigTable').then((result: Array<any>) => { | ||||||
|  |     if (result.length) { | ||||||
|  |       if (!flag) { | ||||||
|         return |         return | ||||||
|       } |       } | ||||||
|       if(globalThis.udpClient&&globalThis.udpClient.closeUdp){ |       if (globalThis.udpClient && globalThis.udpClient.closeUdp) { | ||||||
|         globalThis.udpClient.closeUdp(()=>{ |         globalThis.udpClient.closeUdp(() => { | ||||||
|           globalThis.udpClient.rebindUdp(result[0].udplocalIp, result[0].udplocalIpPort,result[0].udpOppositeIp,result[0].udpOppositeIpPort) |           globalThis.udpClient.rebindUdp(result[0].udplocalIp, result[0].udplocalIpPort, result[0].udpOppositeIp, result[0].udpOppositeIpPort) | ||||||
|           globalThis.udpClient.sendMsg('111') |           globalThis.udpClient.sendMsg('111') | ||||||
|           globalThis.host=`http://${result[0].centerIp}:${result[0].centerPort}` |           globalThis.host = `http://${result[0].centerIp}:${result[0].centerPort}` | ||||||
|           globalThis.udpClient.onError(globalThis.udpClient.onMessage?globalThis.udpClient.onMessage:()=>{}) |           globalThis.udpClient.onError(globalThis.udpClient.onMessage ? globalThis.udpClient.onMessage : () => { | ||||||
|  |           }) | ||||||
| 
 | 
 | ||||||
|         }) |         }) | ||||||
|       }else{ |       } else { | ||||||
| 
 | 
 | ||||||
|         const udpClient: UdpClient =new UdpClient(result[0].udplocalIp, result[0].udplocalIpPort,result[0].udpOppositeIp,result[0].udpOppositeIpPort) |         const udpClient: UdpClient = new UdpClient(result[0].udplocalIp, result[0].udplocalIpPort, result[0].udpOppositeIp, result[0].udpOppositeIpPort) | ||||||
|         udpClient.bindUdp() |         udpClient.bindUdp() | ||||||
|         udpClient.sendMsg('111') |         udpClient.sendMsg('111') | ||||||
|         globalThis.udpClient = udpClient |         globalThis.udpClient = udpClient | ||||||
|         globalThis.host=`http://${result[0].centerIp}:${result[0].centerPort}` |         globalThis.host = `http://${result[0].centerIp}:${result[0].centerPort}` | ||||||
|         globalThis.udpClient.onError(globalThis.udpClient.onMessage?globalThis.udpClient.onMessage:()=>{}) |         globalThis.udpClient.onError(globalThis.udpClient.onMessage ? globalThis.udpClient.onMessage : () => { | ||||||
|  |         }) | ||||||
| 
 | 
 | ||||||
|       } |       } | ||||||
| 
 | 
 | ||||||
|     }else{ |     } else { | ||||||
|       globalThis.udpClient={} |       globalThis.udpClient = {} | ||||||
|       globalThis.udpClient.onMessage=()=>{} |       globalThis.udpClient.onMessage = () => { | ||||||
|       globalThis.host='' |       } | ||||||
|  |       globalThis.host = '' | ||||||
|     } |     } | ||||||
|   }) |   }) | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| export async function getUDP2(flag:Boolean=false) { | export async function getUDP2(flag: Boolean = false) { | ||||||
|   getSyncData('IpConfigTable').then(async (result:Array<any>)=>{ |   getSyncData('IpConfigTable').then(async (result: Array<any>) => { | ||||||
|     if(result.length){ |     if (result.length) { | ||||||
|       if(globalThis.udpClient2&&globalThis.udpClient2.closeUdp){ |       if (globalThis.udpClient2 && globalThis.udpClient2.closeUdp) { | ||||||
|         if(!flag){ |         if (!flag) { | ||||||
|           return |           return | ||||||
|         } |         } | ||||||
|         globalThis.udpClient2.closeUdp(async ()=>{ |         globalThis.udpClient2.closeUdp(async () => { | ||||||
|           globalThis.udpClient2.rebindUdp(result[0].udplocalIp, '8800',globalThis.carInfo?.udpAddress,globalThis.carInfo?.messagePort) |           globalThis.udpClient2.rebindUdp(result[0].udplocalIp, '8800', globalThis.carInfo?.udpAddress, globalThis.carInfo?.messagePort) | ||||||
|           globalThis.udpClient2.onMessage((val)=>{ |           globalThis.udpClient2.onMessage((val) => { | ||||||
|           }) |           }) | ||||||
|           globalThis.udpClient2.onError() |           globalThis.udpClient2.onError() | ||||||
|           globalThis.udpClient2.setMsgCallBack=()=>{} |           globalThis.udpClient2.setMsgCallBack = () => { | ||||||
|  |           } | ||||||
| 
 | 
 | ||||||
|         }) |         }) | ||||||
|       }else{ |       } else { | ||||||
|         const udpClient: UdpClientByCenter =new UdpClientByCenter(result[0].udplocalIp, '8800',globalThis.carInfo?.udpAddress,globalThis.carInfo?.messagePort) |         const udpClient: UdpClientByCenter = new UdpClientByCenter(result[0].udplocalIp, '8800', globalThis.carInfo?.udpAddress, globalThis.carInfo?.messagePort) | ||||||
|         globalThis.udpClient2 = udpClient |         globalThis.udpClient2 = udpClient | ||||||
|         globalThis.udpClient2.bindUdp() |         globalThis.udpClient2.bindUdp() | ||||||
|         globalThis.udpClient2.onError() |         globalThis.udpClient2.onError() | ||||||
|         globalThis.udpClient2.onMessage((val)=>{ |         globalThis.udpClient2.onMessage((val) => { | ||||||
|           if(val.id=='32'){ |           if (val.id == '32') { | ||||||
|             globalThis.signNum=val.body[1] |             globalThis.signNum = val.body[1] | ||||||
| 
 | 
 | ||||||
|           }else if(val.id=='46'){ |           } else if (val.id == '46') { | ||||||
|             let tmpList = [] |             let tmpList = [] | ||||||
|             const str = globalThis.lsh |             const str = globalThis.lsh | ||||||
|             for (let i = 0;i < str.length; i++) { |             for (let i = 0; i < str.length; i++) { | ||||||
|               tmpList.push(this.string2Bytes(str.charCodeAt(i), 1 * 8)[0]) |               tmpList.push(this.string2Bytes(str.charCodeAt(i), 1 * 8)[0]) | ||||||
|             } |             } | ||||||
|             const param = { id: 47, list: tmpList, carNo: globalThis.carInfo.carNo, placeId: globalThis.carInfo.examinationRoomId } |             const param = { | ||||||
|  |               id: 47, | ||||||
|  |               list: tmpList, | ||||||
|  |               carNo: globalThis.carInfo.carNo, | ||||||
|  |               placeId: globalThis.carInfo.examinationRoomId | ||||||
|  |             } | ||||||
|             globalThis.udpClient2.send(param) |             globalThis.udpClient2.send(param) | ||||||
|           } |           } | ||||||
|         }) |         }) | ||||||
|       } |       } | ||||||
|     }else{ |     } else { | ||||||
|       globalThis.udpClient2={} |       globalThis.udpClient2 = {} | ||||||
|       globalThis.udpClient2.onMessage=()=>{} |       globalThis.udpClient2.onMessage = () => { | ||||||
|       globalThis.udpClient2.setMsgCallBack=()=>{} |       } | ||||||
|  |       globalThis.udpClient2.setMsgCallBack = () => { | ||||||
|  |       } | ||||||
|     } |     } | ||||||
|   }) |   }) | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| export async function setTopLineUdp(){ | export async function setTopLineUdp() { | ||||||
|   const config = await getSyncData('IpConfigTable'); |   const config = await getSyncData('IpConfigTable'); | ||||||
|   if(config && config[0] && config[0].udplocalIp){ |   if (config && config[0] && config[0].udplocalIp) { | ||||||
|     const {udplocalIp,udpOppositeIp,udpOppositeIpPort} = config[0]; |     const {udplocalIp,udpOppositeIp,udpOppositeIpPort} = config[0]; | ||||||
|     const udpClient: UdpClientByCenter = new UdpClientByCenter(udplocalIp, '55509',udpOppositeIp,udpOppositeIpPort) |     const udpClient: UdpClientByCenter = new UdpClientByCenter(udplocalIp, '55509', udpOppositeIp, udpOppositeIpPort) | ||||||
|     udpClient.bindUdp() |     udpClient.bindUdp() | ||||||
| 
 | 
 | ||||||
|     return { |     return { | ||||||
|       send(bytes){ |       send(bytes) { | ||||||
|         udpClient.sendHeadMsg(bytes) |         udpClient.sendHeadMsg(bytes) | ||||||
|       } |       } | ||||||
|     } |     } | ||||||
| @ -100,29 +234,34 @@ export async function setTopLineUdp(){ | |||||||
| } | } | ||||||
| 
 | 
 | ||||||
| //
 | //
 | ||||||
| export async function setJudgeUdp(){ | export async function setJudgeUdp() { | ||||||
|   const config = await getSyncData('IpConfigTable'); |   const config = await getSyncData('IpConfigTable'); | ||||||
| 
 | 
 | ||||||
|   let udpIndex = 0; |   let udpIndex = 0; | ||||||
|   let currentUdpIndex = 0; |   let currentUdpIndex = 0; | ||||||
|   let judgeUdpTimer |   let judgeUdpTimer | ||||||
|   clearInterval(judgeUdpTimer) |   clearInterval(judgeUdpTimer) | ||||||
|    judgeUdpTimer = setInterval(()=>{ |   judgeUdpTimer = setInterval(() => { | ||||||
|     udpIndex += 1; |     udpIndex += 1; | ||||||
|   },1000); |   }, 1000); | ||||||
| 
 | 
 | ||||||
|   if(config && config[0] && config[0].udplocalIp){ |   if (config && config[0] && config[0].udplocalIp) { | ||||||
|     const {udplocalIp} = config[0]; |     const {udplocalIp} = config[0]; | ||||||
|     const udpClient: UdpClientByCenter = new UdpClientByCenter(udplocalIp, '8080',globalThis.carInfo?.gpsAddress,globalThis.carInfo?.hintPort) |     const udpClient: UdpClientByCenter = new UdpClientByCenter(udplocalIp, '8080', globalThis.carInfo?.gpsAddress, globalThis.carInfo?.hintPort) | ||||||
|     udpClient.bindUdp() |     udpClient.bindUdp() | ||||||
|     udpClient.onMessage((val)=>{ |     udpClient.onMessage((val) => { | ||||||
|       console.log('valval',val) |       console.log('valval', val) | ||||||
|     }) |     }) | ||||||
|     globalThis.judgeUdpClient = udpClient; |     globalThis.judgeUdpClient = udpClient; | ||||||
|     return { |     return { | ||||||
|       send(bytes){ |       send(bytes) { | ||||||
|         if(udpIndex > currentUdpIndex){ |         if (udpIndex > currentUdpIndex) { | ||||||
|           udpClient.sendMsg({id:45,list:bytes,carNo:globalThis.carInfo.carNo,placeId:globalThis.carInfo.examinationRoomId}) |           udpClient.sendMsg({ | ||||||
|  |             id: 45, | ||||||
|  |             list: bytes, | ||||||
|  |             carNo: globalThis.carInfo.carNo, | ||||||
|  |             placeId: globalThis.carInfo.examinationRoomId | ||||||
|  |           }) | ||||||
|           currentUdpIndex = udpIndex |           currentUdpIndex = udpIndex | ||||||
|         } |         } | ||||||
|       } |       } | ||||||
|  | |||||||
| @ -15,19 +15,21 @@ | |||||||
| 
 | 
 | ||||||
| import socket from '@ohos.net.socket'; | import socket from '@ohos.net.socket'; | ||||||
| import { Array2Byte } from '../utils/tools' | import { Array2Byte } from '../utils/tools' | ||||||
| import {getChuankouFn} from '../../common/service/indexService' | import { getChuankouFn } from '../../common/service/indexService' | ||||||
| 
 | 
 | ||||||
| const TAG = '[PLC.UdpClient]' | const TAG = '[PLC.UdpClient]' | ||||||
| import prompt from '@ohos.prompt' | import prompt from '@ohos.prompt' | ||||||
| 
 | 
 | ||||||
| import hilog from '@ohos.hilog'; | import hilog from '@ohos.hilog'; | ||||||
|  | 
 | ||||||
| export default class UdpClient { | export default class UdpClient { | ||||||
|   private localIp: string = '' |   private localIp: string = '' | ||||||
|   private localIpPort: string = '' |   private localIpPort: string = '' | ||||||
|   private oppositeIp: string = '' |   private oppositeIp: string = '' | ||||||
|   private oppositeIpPort: string = '' |   private oppositeIpPort: string = '' | ||||||
| 
 | 
 | ||||||
|   private udp: any = null |   private udp: socket.UDPSocket = null | ||||||
|  | 
 | ||||||
|   // private stashFn:StashFuncotion
 |   // private stashFn:StashFuncotion
 | ||||||
| 
 | 
 | ||||||
|   constructor(udplocalIp: string, udplocalIpPort: string, udpOppositeIp: string, udpOppositeIpPort: string) { |   constructor(udplocalIp: string, udplocalIpPort: string, udpOppositeIp: string, udpOppositeIpPort: string) { | ||||||
| @ -46,7 +48,7 @@ export default class UdpClient { | |||||||
|     this.oppositeIp = oppositeIp |     this.oppositeIp = oppositeIp | ||||||
|     this.localIpPort = localIpPort |     this.localIpPort = localIpPort | ||||||
|     this.oppositeIpPort = oppositeIpPort |     this.oppositeIpPort = oppositeIpPort | ||||||
|     hilog.info(0x0000, 'udpCLient', 'rebind'+this.localIp+this.localIpPort); |     hilog.info(0x0000, 'udpCLient', 'rebind' + this.localIp + this.localIpPort); | ||||||
|     let promise = this.udp.bind({ |     let promise = this.udp.bind({ | ||||||
|       address: this.localIp, port: parseInt(this.localIpPort), family: 1 |       address: this.localIp, port: parseInt(this.localIpPort), family: 1 | ||||||
|     }); |     }); | ||||||
| @ -61,7 +63,7 @@ export default class UdpClient { | |||||||
|   bindUdp() { |   bindUdp() { | ||||||
|     console.log('localIp', this.localIp) |     console.log('localIp', this.localIp) | ||||||
|     console.log('localIpPort', this.localIpPort) |     console.log('localIpPort', this.localIpPort) | ||||||
|     hilog.info(0x0000, 'udpCLient', 'bind'+ this.localIp+this.localIpPort); |     hilog.info(0x0000, 'udpCLient', 'bind' + this.localIp + this.localIpPort); | ||||||
| 
 | 
 | ||||||
|     let promise = this.udp.bind({ |     let promise = this.udp.bind({ | ||||||
|       address: '192.168.7.170', port: 20122, family: 1 |       address: '192.168.7.170', port: 20122, family: 1 | ||||||
| @ -75,9 +77,11 @@ export default class UdpClient { | |||||||
|       console.log(`${TAG}udpCLient udp bind failed:${JSON.stringify(err)}`); |       console.log(`${TAG}udpCLient udp bind failed:${JSON.stringify(err)}`); | ||||||
|     }); |     }); | ||||||
|   } |   } | ||||||
|   setMsgCallBack(callback){ | 
 | ||||||
|  |   setMsgCallBack(callback) { | ||||||
|     // this.stashFn=callback?callback:()=>{}
 |     // this.stashFn=callback?callback:()=>{}
 | ||||||
|   } |   } | ||||||
|  | 
 | ||||||
|   sendMsg(msg) { |   sendMsg(msg) { | ||||||
|     console.log('sendsnd01') |     console.log('sendsnd01') | ||||||
|     hilog.info(0x0000, 'udpCLient', 'send'); |     hilog.info(0x0000, 'udpCLient', 'send'); | ||||||
| @ -101,18 +105,19 @@ export default class UdpClient { | |||||||
|       console.log(`${TAG}udpCLient udp send fail:${JSON.stringify(err)}`); |       console.log(`${TAG}udpCLient udp send fail:${JSON.stringify(err)}`); | ||||||
|     }); |     }); | ||||||
|   } |   } | ||||||
|   onError(callback?){ | 
 | ||||||
|    this.udp.on('error',async err => { |   onError(callback?) { | ||||||
|      console.log('udpdiushierroring') |     this.udp.on('error', async err => { | ||||||
|      hilog.info(0x0000, 'udpCLientonerror', 'error'+ JSON.stringify(err)); |       console.log('udpdiushierroring') | ||||||
|      console.log("on error, err:" + JSON.stringify(err)) |       hilog.info(0x0000, 'udpCLientonerror', 'error' + JSON.stringify(err)); | ||||||
|      await this.bindUdp() |       console.log("on error, err:" + JSON.stringify(err)) | ||||||
|      await this.sendMsg('111') |       await this.bindUdp() | ||||||
|      await this.onMessage(callback) |       await this.sendMsg('111') | ||||||
|      // callback&&callback()
 |       await this.onMessage(callback) | ||||||
|      // this.closeUdp(()=>{
 |       // callback&&callback()
 | ||||||
|      //   this.bindUdp()
 |       // this.closeUdp(()=>{
 | ||||||
|      // })
 |       //   this.bindUdp()
 | ||||||
|  |       // })
 | ||||||
|     }); |     }); | ||||||
|   } |   } | ||||||
| 
 | 
 | ||||||
| @ -144,14 +149,14 @@ export default class UdpClient { | |||||||
|         } |         } | ||||||
|         console.log(`${TAG} udp222 on message array buffer:${str}`); |         console.log(`${TAG} udp222 on message array buffer:${str}`); | ||||||
| 
 | 
 | ||||||
|         strachArr[28]=globalThis.chuankoMsg||'0' |         strachArr[28] = globalThis.chuankoMsg || '0' | ||||||
|         // this.stashFn(str)
 |         // this.stashFn(str)
 | ||||||
|         const newArr=JSON.parse(JSON.stringify(strachArr)) |         const newArr = JSON.parse(JSON.stringify(strachArr)) | ||||||
|         // this.stashFn=()=>{}
 |         // this.stashFn=()=>{}
 | ||||||
|         callback&&callback(newArr.toString()) |         callback && callback(newArr.toString()) | ||||||
| 
 | 
 | ||||||
|       } else { |       } else { | ||||||
|         callback&&callback('') |         callback && callback('') | ||||||
|       } |       } | ||||||
|       console.log('messageTimeEnd') |       console.log('messageTimeEnd') | ||||||
| 
 | 
 | ||||||
| @ -183,41 +188,25 @@ export default class UdpClient { | |||||||
|     }, 3000) |     }, 3000) | ||||||
|   } |   } | ||||||
| 
 | 
 | ||||||
|   closeUdp(callback) { |   closeUdp() { | ||||||
| 
 |     return new Promise<void>((resolve, reject) => { | ||||||
|     this.udp.close(err => { |       this.udp.close().then(() => { | ||||||
|       hilog.info(0x0000, 'udpCLient', 'close'); |         hilog.info(0x0000, 'udpClient', 'close'); | ||||||
| 
 |         return this.udp.getState() | ||||||
|       if (err) { |       }).then((data) => { | ||||||
|         hilog.info(0x0000, 'udpCLient', 'closeonerror'); |         if (!data.isClose) { | ||||||
| 
 |           setTimeout(() => { | ||||||
|       } else { |             resolve() | ||||||
|         this.udp.getState((err, data) => { |           }, 1000) | ||||||
|           if (err) { |         } | ||||||
|             console.log('getState fail'); |       }).catch(err => { | ||||||
|             return; |         hilog.error(0x0000, 'udpClient', err); | ||||||
|           } else { |         reject(err) | ||||||
|             if (!data.isisClose) { |       }) | ||||||
|               setTimeout(() => { |     }) | ||||||
|                 callback() |  | ||||||
|               }, 1000) |  | ||||||
|             } |  | ||||||
|           } |  | ||||||
|           console.log('getState success:' + JSON.stringify(data)); |  | ||||||
|         }) |  | ||||||
|         // let promise = this.udp.getState({});
 |  | ||||||
|         // promise.then(data => {
 |  | ||||||
|         //
 |  | ||||||
|         //     console.log('getState success:' + JSON.stringify(data));
 |  | ||||||
|         // }).catch(err => {
 |  | ||||||
|         //     callback()
 |  | ||||||
|         //     console.log('getState fail');
 |  | ||||||
|         // });
 |  | ||||||
|       } |  | ||||||
|     }); |  | ||||||
| 
 |  | ||||||
|   } |   } | ||||||
| } | } | ||||||
|  | 
 | ||||||
| interface StashFunction { | interface StashFunction { | ||||||
|   (str: string) |   (str: string) | ||||||
| } | } | ||||||
| @ -17,8 +17,9 @@ import socket from '@ohos.net.socket'; | |||||||
| import fs from '@ohos.file.fs' | import fs from '@ohos.file.fs' | ||||||
| import mediaLibrary from '@ohos.multimedia.mediaLibrary' | import mediaLibrary from '@ohos.multimedia.mediaLibrary' | ||||||
| import FileUtil from '../../common/utils/File' | import FileUtil from '../../common/utils/File' | ||||||
| import {fillZero,string2Bytes} from '../utils/tools' | import { fillZero, string2Bytes } from '../utils/tools' | ||||||
| import { GlobalConfig } from '../../config/index' | import { GlobalConfig } from '../../config/index' | ||||||
|  | 
 | ||||||
| const TAG = '[UdpDemo.UdpClient]' | const TAG = '[UdpDemo.UdpClient]' | ||||||
| // import common from '@ohos.app.ability.common';
 | // import common from '@ohos.app.ability.common';
 | ||||||
| import hilog from '@ohos.hilog'; | import hilog from '@ohos.hilog'; | ||||||
| @ -27,216 +28,230 @@ import call from '@ohos.telephony.call'; | |||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
| export default class UdpClientByCenter { | export default class UdpClientByCenter { | ||||||
|     private localIp: string = '' |   private localIp: string = '' | ||||||
|     private localIpPort: string = '' |   private localIpPort: string = '' | ||||||
|     private oppositeIp: string = '' |   private oppositeIp: string = '' | ||||||
|     private oppositeIpPort: string = '' |   private oppositeIpPort: string = '' | ||||||
|     private udpMsg: any='' |   private udpMsg: any = '' | ||||||
|     private num:number  = 0 |   private num: number = 0 | ||||||
|     private fileUtil: FileUtil |   private fileUtil: FileUtil | ||||||
|     private udp: any = null |   private udp: any = null | ||||||
|     private sendId: any = 0 |   private sendId: any = 0 | ||||||
|     private lsh: string = null |   private lsh: string = null | ||||||
|     private context |   private context | ||||||
|     private stashFn:StashFunction |   private stashFn: StashFunction | ||||||
|     private headLenth:number=9 //消息头长度
 |   private headLenth: number = 9 | ||||||
|     private initParam |   //消息头长度
 | ||||||
|     constructor(udplocalIp: string, udplocalIpPort:string,udpOppositeIp: string,udpOppositeIpPort:string) { |   private initParam | ||||||
|         this.localIp = udplocalIp | 
 | ||||||
|         this.oppositeIp = udpOppositeIp |   constructor(udplocalIp: string, udplocalIpPort: string, udpOppositeIp: string, udpOppositeIpPort: string) { | ||||||
|         this.localIpPort = udplocalIpPort |     this.localIp = udplocalIp | ||||||
|         this.oppositeIpPort = udpOppositeIpPort |     this.oppositeIp = udpOppositeIp | ||||||
|         this.stashFn=()=>{} |     this.localIpPort = udplocalIpPort | ||||||
|         this.udp = socket.constructUDPSocketInstance(); |     this.oppositeIpPort = udpOppositeIpPort | ||||||
|  |     this.stashFn = () => { | ||||||
|     } |     } | ||||||
|     rebindUdp(localIp: string, localIpPort:string,oppositeIp: string,oppositeIpPort:string){ |     this.udp = socket.constructUDPSocketInstance(); | ||||||
|         this.localIp = localIp |   } | ||||||
|         this.oppositeIp = oppositeIp |  | ||||||
|         this.localIpPort = localIpPort |  | ||||||
|         this.oppositeIpPort = oppositeIpPort |  | ||||||
| 
 | 
 | ||||||
|         let promise = this.udp.bind({ |   rebindUdp(localIp: string, localIpPort: string, oppositeIp: string, oppositeIpPort: string) { | ||||||
|             // address: '192.168.7.170', port: 20122, family: 1
 |     this.localIp = localIp | ||||||
|             address: this.localIp, port: parseInt(this.localIpPort), family: 1 |     this.oppositeIp = oppositeIp | ||||||
|         }); |     this.localIpPort = localIpPort | ||||||
|  |     this.oppositeIpPort = oppositeIpPort | ||||||
| 
 | 
 | ||||||
|         promise.then(() => { |     let promise = this.udp.bind({ | ||||||
|             console.log(`${TAG} udp bind success`); |       // address: '192.168.7.170', port: 20122, family: 1
 | ||||||
|         }).catch(err => { |       address: this.localIp, port: parseInt(this.localIpPort), family: 1 | ||||||
|  |     }); | ||||||
| 
 | 
 | ||||||
|             console.log(`${TAG} udp bind failed:${JSON.stringify(err)}`); |     promise.then(() => { | ||||||
|         }); |       console.log(`${TAG} udp bind success`); | ||||||
|  |     }).catch(err => { | ||||||
|  | 
 | ||||||
|  |       console.log(`${TAG} udp bind failed:${JSON.stringify(err)}`); | ||||||
|  |     }); | ||||||
|  |   } | ||||||
|  | 
 | ||||||
|  |   initHeartSendMsg(param, context) { | ||||||
|  |     this.initParam = param | ||||||
|  |     this.context = context | ||||||
|  |   } | ||||||
|  | 
 | ||||||
|  |   bindUdp() { | ||||||
|  |     let promise = this.udp.bind({ | ||||||
|  |       address: this.localIp, port: parseInt(this.localIpPort), family: 1 | ||||||
|  |     }); | ||||||
|  |     promise.then(() => { | ||||||
|  |       console.log(`${TAG} udp bind success`); | ||||||
|  |     }).catch(err => { | ||||||
|  | 
 | ||||||
|  |       console.log(`${TAG} udp bind failed:${JSON.stringify(err)}`); | ||||||
|  |     }); | ||||||
|  |   } | ||||||
|  | 
 | ||||||
|  |   //异或运算
 | ||||||
|  |   setMessageExclusive(tmpList) { | ||||||
|  |     let result = tmpList[0]; | ||||||
|  |     for (let i = 1; i < tmpList.length; i++) { | ||||||
|  |       result = result ^ tmpList[i] | ||||||
|     } |     } | ||||||
|     initHeartSendMsg(param,context){ |     return [result]; | ||||||
|         this.initParam=param |   } | ||||||
|         this.context=context |  | ||||||
|     } |  | ||||||
|     bindUdp() { |  | ||||||
|         let promise = this.udp.bind({ |  | ||||||
|             address: this.localIp, port: parseInt(this.localIpPort), family: 1 |  | ||||||
|         }); |  | ||||||
|         promise.then(() => { |  | ||||||
|             console.log(`${TAG} udp bind success`); |  | ||||||
|         }).catch(err => { |  | ||||||
| 
 | 
 | ||||||
|             console.log(`${TAG} udp bind failed:${JSON.stringify(err)}`); |   Array2Byte(array) { | ||||||
|         }); |     var buf = new ArrayBuffer(array.length); | ||||||
|  |     var view = new Uint8Array(buf); | ||||||
|  |     for (var i = 0; i != array.length; ++i) { | ||||||
|  |       view[i] = array[i] & 0xFF; | ||||||
|     } |     } | ||||||
|  |     return view; | ||||||
|  |   } | ||||||
| 
 | 
 | ||||||
|     //异或运算
 |   //length消息体bufferlength   id消息类型id  bodyStr消息体string
 | ||||||
|     setMessageExclusive(tmpList){ |   // setMsyBody(id,bodyByte){
 | ||||||
|         let result = tmpList[0]; | 
 | ||||||
|         for (let i = 1; i < tmpList.length; i++) { |   // {id: 31,list:[0,1,'0000000000000'],carNo:489,placeId:62}
 | ||||||
|             result = result ^ tmpList[i] |   setWholeMsg(params) { | ||||||
|  |     let head = this.setMsgHead(params); | ||||||
|  |     let headJudge = this.setMessageExclusive(head); | ||||||
|  |     let body = this.setMsgBody(params); | ||||||
|  |     let bodyJudge = this.setMessageExclusive(body); | ||||||
|  |     let end = [13, 10]; | ||||||
|  |     const arr = [...head, ...headJudge, ...body, ...bodyJudge, ...end] | ||||||
|  |     console.log('BitArray', arr) | ||||||
|  |     return this.Array2Byte(arr).buffer | ||||||
|  | 
 | ||||||
|  |   } | ||||||
|  | 
 | ||||||
|  |   setMsgHead({id, list, placeId=62, carNo=489}) { | ||||||
|  |     let a = string2Bytes(`${id}${fillZero(placeId, 3)}`, 2 * 8); | ||||||
|  |     let b = string2Bytes(`${carNo}${this.lsh}`, 4 * 8); | ||||||
|  | 
 | ||||||
|  |     let c = string2Bytes(list.length, 2 * 8); | ||||||
|  |     return [...a, ...b, ...c]; | ||||||
|  |   } | ||||||
|  | 
 | ||||||
|  |   setMsgBody({id,list}) { | ||||||
|  |     let tmpList = [] | ||||||
|  |     tmpList = list | ||||||
|  | 
 | ||||||
|  |     return tmpList; | ||||||
|  | 
 | ||||||
|  |   } | ||||||
|  | 
 | ||||||
|  |   sendHeadMsg(msgData) { | ||||||
|  |     console.log('sendsnd1') | ||||||
|  |     //udpOppositeIp
 | ||||||
|  |     let promise = this.udp.send({ | ||||||
|  |       data: msgData, | ||||||
|  |       address: { | ||||||
|  |         address: this.oppositeIp, | ||||||
|  |         port: parseInt(this.oppositeIpPort), | ||||||
|  |       } | ||||||
|  |     }); | ||||||
|  |     promise.then(() => { | ||||||
|  |       console.log(`${TAG} udpLine send success:`); | ||||||
|  |     }).catch(err => { | ||||||
|  |       console.log(`${TAG} udpLine send fail:${JSON.stringify(err)}`); | ||||||
|  |     }); | ||||||
|  |   } | ||||||
|  | 
 | ||||||
|  |   setMsgCallBack(callback) { | ||||||
|  |     this.stashFn = callback ? callback : () => { | ||||||
|  |     } | ||||||
|  |   } | ||||||
|  | 
 | ||||||
|  |   sendMsg(param, context?) { | ||||||
|  |     console.log('paramparam', JSON.stringify(param)) | ||||||
|  |     if (context) { | ||||||
|  |       this.context = context | ||||||
|  |     } | ||||||
|  |     this.sendId = param.id | ||||||
|  |     console.log('sendMsg', JSON.stringify(param)) | ||||||
|  |     const msgData = this.setWholeMsg(param) | ||||||
|  |     // const msgData=this.setMsyBody('31','010000000000000')
 | ||||||
|  |     let promise = this.udp.send({ | ||||||
|  |       data: msgData, | ||||||
|  |       address: { | ||||||
|  |         address: this.oppositeIp, | ||||||
|  |         port: parseInt(this.oppositeIpPort), | ||||||
|  |       } | ||||||
|  |     }); | ||||||
|  |     promise.then(() => { | ||||||
|  |       if (param.sendCallback) { | ||||||
|  |         param.sendCallback() | ||||||
|  |       } | ||||||
|  |       // if(this.sendId=='46'&¶m.callback){
 | ||||||
|  |       //     param.callback()
 | ||||||
|  |       // }
 | ||||||
|  |       console.log(`${TAG} udp send success:`); | ||||||
|  |     }).catch(err => { | ||||||
|  |       console.log(`${TAG} udp send fail:${JSON.stringify(err)}`); | ||||||
|  |     }); | ||||||
|  |   } | ||||||
|  | 
 | ||||||
|  |   onMessage(callback, type?) { | ||||||
|  |     this.udp.on('message', value => { | ||||||
|  |       let arr = [] | ||||||
|  |       let dataView = new DataView(value.message) | ||||||
|  |       for (let i = 0; i < dataView?.byteLength; ++i) { | ||||||
|  |         arr[i] = dataView?.getUint8(i) | ||||||
|  |       } | ||||||
|  |       let idNum = '0x' + fillZero(arr[1].toString(16), 2) + fillZero(arr[0].toString(16), 2); | ||||||
|  |       let id = Math.floor(+idNum / 1000) | ||||||
|  |       hilog.info(0x0000, 'bitbit', JSON.stringify(arr)); | ||||||
|  | 
 | ||||||
|  |       let lengthNum = '0x' + fillZero(arr[7].toString(16), 2) + fillZero(arr[6].toString(16), 2); | ||||||
|  |       let length = +lengthNum; | ||||||
|  |       let list = [] | ||||||
|  |       for (let i = this.headLenth; i <= this.headLenth + length - 1; i++) { | ||||||
|  |         list.push(arr[i]) | ||||||
|  |       } | ||||||
|  |       this.stashFn({ | ||||||
|  |         id, length, body: list, sendId: this.sendId | ||||||
|  |       }) | ||||||
|  |       callback({ | ||||||
|  |         id, length, body: list, sendId: this.sendId | ||||||
|  |       }) | ||||||
|  |     }); | ||||||
|  |   } | ||||||
|  | 
 | ||||||
|  |   onError(callback?) { | ||||||
|  |     this.udp.on('error', err => { | ||||||
|  |       console.log('udpbycenterdiushierroring') | ||||||
|  |       hilog.info(0x0000, 'udpCLientBycenteronerror', 'error' + JSON.stringify(err)); | ||||||
|  |       console.log("on error, err:" + JSON.stringify(err)) | ||||||
|  |       // this.closeUdp(()=>{
 | ||||||
|  |       //   this.bindUdp()
 | ||||||
|  |       // })
 | ||||||
|  |     }); | ||||||
|  |   } | ||||||
|  | 
 | ||||||
|  |   closeUdp() { | ||||||
|  |     return new Promise<void>((resolve, reject) => { | ||||||
|  |       this.udp.close().then(() => { | ||||||
|  |         hilog.info(0x0000, 'udpClient', 'close'); | ||||||
|  |         return this.udp.getState() | ||||||
|  |       }).then((data) => { | ||||||
|  |         if (!data.isClose) { | ||||||
|  |           setTimeout(() => { | ||||||
|  |             resolve() | ||||||
|  |           }, 1000) | ||||||
|         } |         } | ||||||
|         return [result]; |       }).catch(err => { | ||||||
|     } |         hilog.error(0x0000, 'udpClient', err); | ||||||
|     Array2Byte(array) { |         reject(err) | ||||||
|         var buf = new ArrayBuffer(array.length); |       }) | ||||||
|         var view = new Uint8Array(buf); |     }) | ||||||
|         for (var i = 0; i != array.length; ++i) |   } | ||||||
|         { |  | ||||||
|             view[i] = array[i] & 0xFF; |  | ||||||
|         } |  | ||||||
|         return view; |  | ||||||
|     } |  | ||||||
|     //length消息体bufferlength   id消息类型id  bodyStr消息体string
 |  | ||||||
|     // setMsyBody(id,bodyByte){
 |  | ||||||
| 
 |  | ||||||
|     // {id: 31,list:[0,1,'0000000000000'],carNo:489,placeId:62}
 |  | ||||||
|     setWholeMsg(params){ |  | ||||||
|         let head = this.setMsgHead(params); |  | ||||||
|         let headJudge = this.setMessageExclusive(head); |  | ||||||
|         let body = this.setMsgBody(params); |  | ||||||
|         let bodyJudge = this.setMessageExclusive(body); |  | ||||||
|         let end = [13,10]; |  | ||||||
|         const arr=[...head, ...headJudge,...body, ...bodyJudge,...end] |  | ||||||
|         console.log('BitArray',arr) |  | ||||||
|         return this.Array2Byte(arr).buffer |  | ||||||
| 
 |  | ||||||
|     } |  | ||||||
|     setMsgHead({id, list, placeId=62, carNo=489}){ |  | ||||||
|         let a = string2Bytes(`${id}${fillZero(placeId,3)}`, 2*8); |  | ||||||
|         let b = string2Bytes(`${carNo}${this.lsh}`, 4*8); |  | ||||||
| 
 |  | ||||||
|         let c = string2Bytes(list.length, 2*8); |  | ||||||
|         return [...a,...b,...c]; |  | ||||||
|     } |  | ||||||
|     setMsgBody({id,list}) { |  | ||||||
|         let tmpList = [] |  | ||||||
|         tmpList = list |  | ||||||
| 
 |  | ||||||
|         return tmpList ; |  | ||||||
| 
 |  | ||||||
|     } |  | ||||||
| 
 |  | ||||||
|     sendHeadMsg(msgData){ |  | ||||||
|         console.log('sendsnd1') |  | ||||||
|         //udpOppositeIp
 |  | ||||||
|         let promise = this.udp.send({ |  | ||||||
|             data: msgData, |  | ||||||
|             address: { |  | ||||||
|                 address: this.oppositeIp, |  | ||||||
|                 port: parseInt(this.oppositeIpPort), |  | ||||||
|             } |  | ||||||
|         }); |  | ||||||
|         promise.then(() => { |  | ||||||
|             console.log(`${TAG} udpLine send success:`); |  | ||||||
|         }).catch(err => { |  | ||||||
|             console.log(`${TAG} udpLine send fail:${JSON.stringify(err)}`); |  | ||||||
|         }); |  | ||||||
|     } |  | ||||||
|     setMsgCallBack(callback){ |  | ||||||
|         this.stashFn=callback?callback:()=>{} |  | ||||||
|     } |  | ||||||
|     sendMsg(param,context?) { |  | ||||||
|         console.log('paramparam',JSON.stringify(param)) |  | ||||||
|         if(context){ |  | ||||||
|             this.context=context |  | ||||||
|         } |  | ||||||
|         this.sendId=param.id |  | ||||||
|         console.log('sendMsg',JSON.stringify(param)) |  | ||||||
|         const msgData=this.setWholeMsg(param) |  | ||||||
|         // const msgData=this.setMsyBody('31','010000000000000')
 |  | ||||||
|         let promise = this.udp.send({ |  | ||||||
|             data: msgData, |  | ||||||
|             address: { |  | ||||||
|                 address: this.oppositeIp, |  | ||||||
|                 port: parseInt(this.oppositeIpPort), |  | ||||||
|             } |  | ||||||
|         }); |  | ||||||
|         promise.then(() => { |  | ||||||
|             if(param.sendCallback){ |  | ||||||
|                 param.sendCallback() |  | ||||||
|             } |  | ||||||
|             // if(this.sendId=='46'&¶m.callback){
 |  | ||||||
|             //     param.callback()
 |  | ||||||
|             // }
 |  | ||||||
|             console.log(`${TAG} udp send success:`); |  | ||||||
|         }).catch(err => { |  | ||||||
|             console.log(`${TAG} udp send fail:${JSON.stringify(err)}`); |  | ||||||
|         }); |  | ||||||
|     } |  | ||||||
|     onMessage(callback,type?) { |  | ||||||
|         this.udp.on('message', value => { |  | ||||||
|             let arr=[] |  | ||||||
|             let dataView = new DataView(value.message) |  | ||||||
|             for (let i = 0;i < dataView?.byteLength; ++i) { |  | ||||||
|                 arr[i]=dataView?.getUint8(i) |  | ||||||
|             } |  | ||||||
|             let idNum = '0x' + fillZero(arr[1].toString(16),2) + fillZero(arr[0].toString(16),2) ; |  | ||||||
|             let id = Math.floor(+idNum/1000) |  | ||||||
|             hilog.info(0x0000, 'bitbit', JSON.stringify(arr)); |  | ||||||
| 
 |  | ||||||
|             let lengthNum = '0x' + fillZero(arr[7].toString(16),2) + fillZero(arr[6].toString(16),2) ; |  | ||||||
|             let length= +lengthNum; |  | ||||||
|             let list=[] |  | ||||||
|             for(let i=this.headLenth;i<=this.headLenth+length-1;i++){ |  | ||||||
|                 list.push(arr[i]) |  | ||||||
|             } |  | ||||||
|             this.stashFn({id,length,body:list,sendId:this.sendId}) |  | ||||||
|             callback({id,length,body:list,sendId:this.sendId}) |  | ||||||
|         }); |  | ||||||
|     } |  | ||||||
|     onError(callback?){ |  | ||||||
|         this.udp.on('error', err => { |  | ||||||
|             console.log('udpbycenterdiushierroring') |  | ||||||
|             hilog.info(0x0000, 'udpCLientBycenteronerror', 'error'+ JSON.stringify(err)); |  | ||||||
|             console.log("on error, err:" + JSON.stringify(err)) |  | ||||||
|             // this.closeUdp(()=>{
 |  | ||||||
|             //   this.bindUdp()
 |  | ||||||
|             // })
 |  | ||||||
|         }); |  | ||||||
|     } |  | ||||||
|     closeUdp(callback) { |  | ||||||
|         this.udp.close(err=>{ |  | ||||||
|             if(err){ |  | ||||||
| 
 |  | ||||||
|             }else{ |  | ||||||
|                 this.udp.getState((err, data) => { |  | ||||||
|                     if (err) { |  | ||||||
|                         return; |  | ||||||
|                     }else{ |  | ||||||
|                         if(!data.isisClose){ |  | ||||||
|                             setTimeout(()=>{ |  | ||||||
|                                 callback() |  | ||||||
|                             },1000) |  | ||||||
|                         } |  | ||||||
|                     } |  | ||||||
|                 }) |  | ||||||
|                 // let promise = this.udp.getState({});
 |  | ||||||
|                 // promise.then(data => {
 |  | ||||||
|                 //
 |  | ||||||
|                 //     console.log('getState success:' + JSON.stringify(data));
 |  | ||||||
|                 // }).catch(err => {
 |  | ||||||
|                 //     callback()
 |  | ||||||
|                 //     console.log('getState fail');
 |  | ||||||
|                 // });
 |  | ||||||
|             } |  | ||||||
|         }); |  | ||||||
| 
 |  | ||||||
|     } |  | ||||||
| } | } | ||||||
|  | 
 | ||||||
| interface StashFunction { | interface StashFunction { | ||||||
|     (params: { id: number; length: number; body: any[]; sendId: string }): void; |   (params: { | ||||||
|  |     id: number; | ||||||
|  |     length: number; | ||||||
|  |     body: any[]; | ||||||
|  |     sendId: string | ||||||
|  |   }): void; | ||||||
| } | } | ||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user