socket丟失修改
This commit is contained in:
		
							parent
							
								
									71ed3fb4d4
								
							
						
					
					
						commit
						b8aa90e86e
					
				| @ -166,9 +166,9 @@ export async function getDataBaseTable(params,reqParam) { | ||||
|             let str='(' | ||||
|             map[params.tableName].ACCOUNT_TABLE.columns.map((res,index)=>{ | ||||
|               if(map[params.tableName].ACCOUNT_TABLE.columns.length-1==index){ | ||||
|                 str+=`"${data[res]||'1'}"` | ||||
|                 str+=data[res]?`"${data[res]}"`:'NULL' | ||||
|               }else{ | ||||
|                 str+=`"${data[res]||'1'}"`+',' | ||||
|                 str+=(data[res]?`"${data[res]}"`:'NULL')+',' | ||||
|               } | ||||
|             }) | ||||
|             if(i==res.body[params.tableName].length-1){ | ||||
|  | ||||
| @ -1,7 +1,7 @@ | ||||
| import socket from '@ohos.net.socket'; | ||||
| import buffer from '@ohos.buffer'; | ||||
| 
 | ||||
| const TAG = '[TcpDemo.TcpClient]' | ||||
| const TAG = 'socketTag[TcpDemo.TcpClient]' | ||||
| import prompt from '@ohos.prompt' | ||||
| import hilog from '@ohos.hilog'; | ||||
| 
 | ||||
| @ -18,12 +18,12 @@ export default class TcpClient { | ||||
|         this.oppositeIp = tcpOppositeIp | ||||
|         this.localIpPort = tcplocalIpPort | ||||
|         this.oppositeIpPort = tcpOppositePort | ||||
|         console.log('tcp1111',this.localIp,this.localIpPort,this.oppositeIp,this.oppositeIpPort) | ||||
|         console.log(TAG,'new Tcp',this.localIp,this.localIpPort,this.oppositeIp,this.oppositeIpPort) | ||||
|         this.tcp = socket.constructTCPSocketInstance(); | ||||
|     } | ||||
|     onError(callback?){ | ||||
|         this.tcp.on('error', err => { | ||||
|             hilog.info(0x0000, 'testTag', "on error, err:" + JSON.stringify(err)); | ||||
|             console.log(TAG,'tcpOnerror', JSON.stringify(err)) | ||||
|             callback&&callback() | ||||
|             // this.closeUdp(()=>{
 | ||||
|             //   this.bindUdp()
 | ||||
| @ -32,11 +32,11 @@ export default class TcpClient { | ||||
|     } | ||||
|     rebindTcp(localIp: string, localIpPort:string,oppositeIp: string,oppositeIpPort:string){ | ||||
|         return new Promise((resolve, reject)=>{ | ||||
| 
 | ||||
|             this.localIp = localIp | ||||
|             this.oppositeIp = oppositeIp | ||||
|             this.localIpPort = localIpPort | ||||
|             this.oppositeIpPort = oppositeIpPort | ||||
|             console.log(TAG,'tcpreBind', this.localIp,this.localIpPort) | ||||
|             let promise=this.tcp.bind({ address:  this.localIp, port:parseInt(this.localIpPort), family: 1 }, err => { | ||||
|                 if (err) { | ||||
|                     hilog.info(0x0000, 'testTag', "tcpreBinderror:" + JSON.stringify(err)); | ||||
| @ -57,7 +57,7 @@ export default class TcpClient { | ||||
| 
 | ||||
|     } | ||||
|     bindTcp() { | ||||
|         console.log('tcpoppositeIp',this.oppositeIp,'localIp',this.localIp) | ||||
|         console.log(TAG,'tcpbind',this.localIp,'localIp',this.localIpPort) | ||||
|         return new Promise((resolve,reject)=>{ | ||||
|             let promise=this.tcp.bind({ address:  this.localIp, port:parseInt(this.localIpPort), family: 1 }, err => { | ||||
|                 if (err) { | ||||
| @ -82,8 +82,7 @@ export default class TcpClient { | ||||
| 
 | ||||
|     } | ||||
|     connectTcp(){ | ||||
|         console.log('testTagtcbpoppositeIp',this.oppositeIp,this.oppositeIpPort,'localIp',this.localIp,this.localIpPort) | ||||
|         console.log('22323') | ||||
|         console.log(TAG,'tcpConnect',this.oppositeIp,'localIp',this.oppositeIpPort) | ||||
|         return new Promise((resolve,reject)=>{ | ||||
|             let promise = this.tcp.connect({ address: {address: this.oppositeIp, port:  parseInt(this.oppositeIpPort), family: 1} , timeout: 6000}); | ||||
|             promise.then(() => { | ||||
| @ -112,7 +111,7 @@ export default class TcpClient { | ||||
|     } | ||||
| 
 | ||||
|     sendMsg(msg: string) { | ||||
|         console.log('testTagsendoppositeIp',this.oppositeIp) | ||||
|         console.log(TAG,'tcpSend',msg.length,msg) | ||||
|         return new Promise((reslove,reject)=>{ | ||||
|             let promise = this.tcp.send({ | ||||
|                 data:msg | ||||
| @ -123,29 +122,12 @@ export default class TcpClient { | ||||
|                 reslove(false) | ||||
|             }); | ||||
|         }) | ||||
| 
 | ||||
|         // let promise = this.udp.send({
 | ||||
|         //     data: msg,
 | ||||
|         //     address: {
 | ||||
|         //         // address: '192.168.7.124',
 | ||||
|         //         // port: 30013,
 | ||||
|         //         // address: '192.168.7.124',
 | ||||
|         //         // port: 20022,
 | ||||
|         //         address: this.oppositeIp,
 | ||||
|         //         port: parseInt(this.oppositeIpPort),
 | ||||
|         //         family: 1
 | ||||
|         //     }
 | ||||
|         // });
 | ||||
| 
 | ||||
|         // promise.then(() => {
 | ||||
|         //     console.log(`${TAG} udp send success:${msg}`);
 | ||||
|         // }).catch(err => {
 | ||||
|         //     console.log(`${TAG} udp send fail:${JSON.stringify(err)}`);
 | ||||
|         // });
 | ||||
|     } | ||||
| 
 | ||||
|     onMessage(callback?) { | ||||
|         this.tcp.on('message', value => { | ||||
|             console.log(TAG,'Tcponmessage',value.length,value) | ||||
| 
 | ||||
|             // console.log('messageLengt',,value.message.length))
 | ||||
|             console.log('testTagtcpmsg') | ||||
|             // console.log("on message, message:" + value.message+ ", remoteInfo:" )
 | ||||
| @ -160,39 +142,22 @@ export default class TcpClient { | ||||
|             } | ||||
|             // callback(value.message)
 | ||||
|         }); | ||||
|         // this.udp.on('message', value => {
 | ||||
|         //     // 收到的是ArrayBuffer 需要进行转换解析
 | ||||
|         //     if (value) {
 | ||||
|         //         let dataView = new DataView(value.message)
 | ||||
|         //         //            console.log(`${TAG} udp message length:${dataView?.byteLength}`);
 | ||||
|         //         let str = ""
 | ||||
|         //         for (let i = 0;i < dataView?.byteLength; ++i) {
 | ||||
|         //             let c = String.fromCharCode(dataView?.getUint8(i))
 | ||||
|         //             if (c !== "\n") {
 | ||||
|         //                 str += c
 | ||||
|         //             }
 | ||||
|         //         }
 | ||||
|         //         console.log(`${TAG} udp on message array buffer:${str}`);
 | ||||
|         //         callback(str)
 | ||||
|         //     }else{
 | ||||
|         //         callback('')
 | ||||
|         //     }
 | ||||
|         //
 | ||||
|         //
 | ||||
|         // });
 | ||||
|     } | ||||
|     offTcp(callback) { | ||||
|        this.tcp.off('testTagofmessg', callback); | ||||
|         console.log(TAG,'tcpofff') | ||||
| 
 | ||||
|         this.tcp.off('testTagofmessg', callback); | ||||
|     } | ||||
|     closeTcp(callback) { | ||||
|         return new Promise((reslove,reject)=>{ | ||||
|             console.log(TAG,'tcpClose') | ||||
|             let promise = this.tcp.close(); | ||||
|             promise.then(() => { | ||||
|                 console.log('testTagclose success'); | ||||
|                 console.log(TAG,'tcpCloseSuccess') | ||||
|                 callback() | ||||
|                 reslove(true) | ||||
|             }).catch(err => { | ||||
|                 console.log('testTagclose fail'); | ||||
|                 console.log(TAG,'tcpClosefailed') | ||||
|                 reslove(false) | ||||
|             }); | ||||
|         }) | ||||
|  | ||||
| @ -17,10 +17,11 @@ import socket from '@ohos.net.socket'; | ||||
| import { Array2Byte } from '../utils/tools' | ||||
| import {getChuankouFn} from '../../common/service/indexService' | ||||
| 
 | ||||
| const TAG = '[PLC.UdpClient]' | ||||
| const TAG = 'socketTag[PLC.UdpClient]' | ||||
| import prompt from '@ohos.prompt' | ||||
| 
 | ||||
| import hilog from '@ohos.hilog'; | ||||
| let num=0 | ||||
| export default class UdpClient { | ||||
|   private localIp: string = '' | ||||
|   private localIpPort: string = '' | ||||
| @ -36,39 +37,40 @@ export default class UdpClient { | ||||
|     this.localIpPort = udplocalIpPort | ||||
|     this.oppositeIpPort = udpOppositeIpPort | ||||
|     getChuankouFn() | ||||
|     console.log(TAG,'newUdp') | ||||
|     // this.stashFn=()=>{}
 | ||||
|     this.udp = socket.constructUDPSocketInstance(); | ||||
|   } | ||||
| 
 | ||||
|   rebindUdp(localIp: string, localIpPort: string, oppositeIp: string, oppositeIpPort: string) { | ||||
|     console.log(TAG,'rebindUdp',this.localIp,this.localIpPort) | ||||
| 
 | ||||
|     this.localIp = localIp | ||||
|     this.oppositeIp = oppositeIp | ||||
|     this.localIpPort = localIpPort | ||||
|     this.oppositeIpPort = oppositeIpPort | ||||
|     hilog.info(0x0000, 'udpCLient', 'rebind'+this.localIp+this.localIpPort); | ||||
|     let promise = this.udp.bind({ | ||||
|       address: this.localIp, port: parseInt(this.localIpPort), family: 1 | ||||
|     }); | ||||
|     promise.then(() => { | ||||
|       console.log(`${TAG}udpCLient udp rebind success`); | ||||
|       globalThis.closeUDPSocket=false | ||||
| 
 | ||||
|       console.log(`${TAG},udpCLient udp rebind success`); | ||||
|     }).catch(err => { | ||||
| 
 | ||||
|       console.log(`${TAG}udpCLient udp rebind failed:${JSON.stringify(err)}`); | ||||
|       console.log(`${TAG},udpCLient udp rebind failed:${JSON.stringify(err)}`); | ||||
|     }); | ||||
|   } | ||||
| 
 | ||||
|   bindUdp() { | ||||
|     console.log('localIp', this.localIp) | ||||
|     console.log('localIpPort', this.localIpPort) | ||||
|     hilog.info(0x0000, 'udpCLient', 'bind'+ this.localIp+this.localIpPort); | ||||
| 
 | ||||
|     console.log(TAG,'udpbind',this.localIp,this.localIpPort) | ||||
|     let promise = this.udp.bind({ | ||||
|       // address: '192.168.7.170', port: 20122, family: 1
 | ||||
|       // address: '192.168.7.170', port: 31013, family: 1
 | ||||
|       address: this.localIp, port: parseInt(this.localIpPort), family: 1 | ||||
|     }); | ||||
|     promise.then(() => { | ||||
|       globalThis.closeUDPSocket=false | ||||
|       console.log(`${TAG}udpCLient udp bind success`); | ||||
|     }).catch(err => { | ||||
| 
 | ||||
| @ -79,9 +81,7 @@ export default class UdpClient { | ||||
|     // this.stashFn=callback?callback:()=>{}
 | ||||
|   } | ||||
|   sendMsg(msg) { | ||||
|     console.log('sendsnd01') | ||||
|     hilog.info(0x0000, 'udpCLient', 'send'); | ||||
|     console.log('udpdiushisend') | ||||
|     console.log(TAG,'UdpSend1111',this.oppositeIp,this.oppositeIpPort) | ||||
| 
 | ||||
|     let promise = this.udp.send({ | ||||
|       data: msg, | ||||
| @ -96,16 +96,14 @@ export default class UdpClient { | ||||
|       } | ||||
|     }); | ||||
|     promise.then(() => { | ||||
|       console.log(`${TAG}udpCLient udp send success:${msg}`); | ||||
|       console.log(`${TAG}udpCLient udp send success:oppositeIp${this.oppositeIp},oppositeIpPort:${this.oppositeIpPort},localIp:${this.localIp},localIpPort,${this.localIpPort}`); | ||||
|     }).catch(err => { | ||||
|       console.log(`${TAG}udpCLient udp send fail:${JSON.stringify(err)}`); | ||||
|       console.log(`${TAG}udpCLient udp send fail:oppositeIp${this.oppositeIp},oppositeIpPort:${this.oppositeIpPort},localIp:${this.localIp},localIpPort,${this.localIpPort}`); | ||||
|     }); | ||||
|   } | ||||
|   onError(callback?){ | ||||
|    this.udp.on('error',async err => { | ||||
|      console.log('udpdiushierroring') | ||||
|      hilog.info(0x0000, 'udpCLientonerror', 'error'+ JSON.stringify(err)); | ||||
|      console.log("on error, err:" + JSON.stringify(err)) | ||||
|      console.log(TAG,'udpError',JSON.stringify(err)) | ||||
|      await this.bindUdp() | ||||
|      await this.sendMsg('111') | ||||
|      await this.onMessage(callback) | ||||
| @ -119,11 +117,8 @@ export default class UdpClient { | ||||
|   onMessage(callback?) { | ||||
| 
 | ||||
|     this.udp.on('message', value => { | ||||
|       console.log('udpdiushimsg') | ||||
| 
 | ||||
|       console.log(TAG,'udponmessage') | ||||
|       // 收到的是ArrayBuffer 需要进行转换解析
 | ||||
|       hilog.info(0x0000, 'udpCLient', 'onmessage'); | ||||
| 
 | ||||
|       globalThis.plcUdpError = false | ||||
|       if (value) { | ||||
| 
 | ||||
| @ -169,10 +164,18 @@ export default class UdpClient { | ||||
|     globalThis.messageTimer = setInterval(() => { | ||||
|       const lightLineUdp = globalThis.lightLineUdp | ||||
|       const isJudge = globalThis.isJudge | ||||
|       setTimeout(() => { | ||||
|       setTimeout(async () => { | ||||
|         //程序断开
 | ||||
|         lightLineUdp?.send(globalThis.plcUdpError ? arrRedBuffer : (isJudge ? arrGreenBugger : arrBlueBuffer)); | ||||
|         if (globalThis.plcUdpError) { | ||||
|           num++ | ||||
|           console.log(TAG,'plc udp信号丢失') | ||||
|           // if(num==2){
 | ||||
|           //   await this.bindUdp()
 | ||||
|           //   await this.sendMsg('111')
 | ||||
|           //   await this.onMessage(callback)
 | ||||
|           //   num=0
 | ||||
|           // }
 | ||||
|           prompt.showToast({ | ||||
|             message: 'plc udp信号丢失', | ||||
|             duration: 2000 | ||||
| @ -186,10 +189,10 @@ export default class UdpClient { | ||||
|   closeUdp(callback) { | ||||
| 
 | ||||
|     this.udp.close(err => { | ||||
|       hilog.info(0x0000, 'udpCLient', 'close'); | ||||
|       hilog.info(0x0000,TAG, 'udpCLient', 'close'); | ||||
| 
 | ||||
|       if (err) { | ||||
|         hilog.info(0x0000, 'udpCLient', 'closeonerror'); | ||||
|         hilog.info(0x0000,TAG, 'udpCLient', 'closeonerror'); | ||||
| 
 | ||||
|       } else { | ||||
|         this.udp.getState((err, data) => { | ||||
|  | ||||
| @ -61,6 +61,7 @@ export default class UdpClientByCenter { | ||||
|         }); | ||||
| 
 | ||||
|         promise.then(() => { | ||||
|             globalThis.closeHeartSocket=false | ||||
|             console.log(`${TAG} udp bind success`); | ||||
|         }).catch(err => { | ||||
| 
 | ||||
| @ -77,6 +78,7 @@ export default class UdpClientByCenter { | ||||
|             address: this.localIp, port: parseInt(this.localIpPort), family: 1 | ||||
|         }); | ||||
|         promise.then(() => { | ||||
|             globalThis.closeHeartSocket=false | ||||
|             console.log(`${TAG} udp bind success`); | ||||
|         }).catch(err => { | ||||
| 
 | ||||
| @ -182,7 +184,6 @@ export default class UdpClientByCenter { | ||||
|     } | ||||
|     onMessage(callback,type?) { | ||||
|         this.udp.on('message', value => { | ||||
|             console.log('tttttttt') | ||||
|             let arr=[] | ||||
|             let dataView = new DataView(value.message) | ||||
|             for (let i = 0;i < dataView?.byteLength; ++i) { | ||||
|  | ||||
| @ -71,13 +71,8 @@ export default struct Index { | ||||
|                     username: this.inputTextArr[0], | ||||
|                     password: Md5.Instance.get_md5(this.inputTextArr[1]) | ||||
|                   } | ||||
|                   console.log('paramparam', JSON.stringify(globalThis.carInfo)) | ||||
|                   console.log('carInfo', JSON.stringify(globalThis.carInfo)) | ||||
|                   examinerLoginService(param).then(res => { | ||||
|                     // this.vocObj.playAudio({ | ||||
|                     //   type: 1, | ||||
|                     //   name: 'media_button.wav' | ||||
|                     // }) | ||||
|                     // this.url='pages/userInfo' | ||||
|                     router.pushUrl({ | ||||
|                       url: 'pages/UserInfo', | ||||
|                     }, router.RouterMode.Single); | ||||
|  | ||||
| @ -1,4 +1,5 @@ | ||||
| // @ts-nocheck | ||||
| import promptAction from '@ohos.promptAction' | ||||
| import { VideoConfig } from './interfaces' | ||||
| import common from '@ohos.app.ability.common'; | ||||
| import router from '@ohos.router' | ||||
| @ -86,10 +87,28 @@ struct Index { | ||||
|               }) | ||||
|             Image($r('app.media.btn_back')).width('14.4%').height('12.2%') | ||||
|               .onClick(() => { | ||||
|                 if (this.loading) { | ||||
|                   return | ||||
|                 } | ||||
|                 router.back() | ||||
|                 promptAction.showDialog({ | ||||
|                   title: '提示', | ||||
|                   message: '确认是否退出应用', | ||||
|                   buttons: [ | ||||
|                     { | ||||
|                       text: '确认', | ||||
|                       color: '#000000', | ||||
|                     }, | ||||
|                     { | ||||
|                       text: '取消', | ||||
|                       color: '#000000', | ||||
|                     } | ||||
|                   ], | ||||
|                 }) | ||||
|                   .then(data => { | ||||
|                     if(data.index==0){ | ||||
|                       router.back() | ||||
|                     } | ||||
|                   }) | ||||
|                   .catch(err => { | ||||
|                     // reslove(false) | ||||
|                   }) | ||||
|               }) | ||||
|           } | ||||
|         } | ||||
| @ -244,13 +263,6 @@ struct Index { | ||||
|         }, router.RouterMode.Single) | ||||
|       } | ||||
|       this.loading=false | ||||
|       // let workData: WorkData = e.data; | ||||
|       // if (workData) { | ||||
|       //   this.isComplete = workData.isComplete; | ||||
|       //   this.json_Str = workData.jsonStr; | ||||
|       //   console.log("baoyihu after postMessage  json_Str:"+this.json_Str); | ||||
|       //   workerInstance.terminate(); | ||||
|       // } | ||||
|     } | ||||
|   } | ||||
|   async heartMsg() { | ||||
| @ -266,7 +278,9 @@ struct Index { | ||||
| 
 | ||||
|     const param= {id: 31,list:tmpList,carNo: globalThis.carInfo.carNo,placeId: globalThis.carInfo.examinationRoomId} | ||||
|     // globalThis.udpClient2.initHeartSendMsg(param,this.context) | ||||
|     globalThis.udpClient2.sendMsg(param, this.context) | ||||
|     if(!globalThis.closeHeartSocket){ | ||||
|       globalThis.udpClient2.sendMsg(param, this.context) | ||||
|     } | ||||
|   } | ||||
| 
 | ||||
|   onPageShow() { | ||||
|  | ||||
| @ -253,13 +253,13 @@ struct UserInfo { | ||||
|         const faceParam = syssetParams.filter(sys => sys.v_no === '2313') | ||||
|         that.FaceOpenStatue =faceParam?.[0]?.v_value=='3'? '1':'0' | ||||
|         that.FaceOpenStatue = '0' | ||||
|         console.log('that.FaceOpenStatue',that.FaceOpenStatue) | ||||
|         // faceParam?.[0]?.v_value || | ||||
|         // 1身份证读卡器 2指纹 3人脸 | ||||
|         this.faceFlag=faceParam?.[0]?.v_value ||'0' | ||||
|         if(faceParam?.[0]?.v_value=='1'){ | ||||
|           that.openDeviceByIDCard() | ||||
|         } | ||||
|         console.log('studentRefreshStatue',this.studentRefreshStatue) | ||||
|         //0不自动更新 1自动更新(不限次数) 2没有考生更新2次 | ||||
|         if (that.studentRefreshStatue == '2') { | ||||
|           clearInterval(that.interval) | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user