Merge remote-tracking branch 'origin/dev_tcp2byte' into dev_tcp2byte
# Conflicts: # entry/src/main/ets/tcp2byte/index.ts
This commit is contained in:
		
						commit
						aab38515ed
					
				| @ -4,13 +4,13 @@ | |||||||
|       { |       { | ||||||
|         "name": "default", |         "name": "default", | ||||||
|         "material": { |         "material": { | ||||||
|           "certpath": "/Users/surenjun/.ohos/config/openharmony/auto_ohos_default_subject-two_com.oh.dts.cer", |           "certpath": "/Users/wangzhongjie/.ohos/config/openharmony/default_subject-two_Kl4t-ZSvZeuUm9s8O-e6FIH2VFR_OaNyhDP8kPjIWgU=.cer", | ||||||
|           "storePassword": "0000001BE4BBADDF656A884E7A7BB5FD51F64FBB61DD24A944FEA969482DD693210ED5FF3D29F13642E3A3", |           "storePassword": "0000001B1A6C605B348CE1F76970E037662E7240FC9A88762FF9CC0FBF41CD85BB9F44F66A7002A0A4226D", | ||||||
|           "keyAlias": "debugKey", |           "keyAlias": "debugKey", | ||||||
|           "keyPassword": "0000001BDEFFDC280B45617E7FC447CB21F2D133540301F543454643D3F5E9F6E5ED2A583A7FA92B260433", |           "keyPassword": "0000001B0C7AC8946180EE4BBCB5880D04DF499C741EBA9485672DD1C6902D3944018F866199FFD1B10B30", | ||||||
|           "profile": "/Users/surenjun/.ohos/config/openharmony/auto_ohos_default_subject-two_com.oh.dts.p7b", |           "profile": "/Users/wangzhongjie/.ohos/config/openharmony/default_subject-two_Kl4t-ZSvZeuUm9s8O-e6FIH2VFR_OaNyhDP8kPjIWgU=.p7b", | ||||||
|           "signAlg": "SHA256withECDSA", |           "signAlg": "SHA256withECDSA", | ||||||
|           "storeFile": "/Users/surenjun/.ohos/config/openharmony/auto_ohos_default_subject-two_com.oh.dts.p12" |           "storeFile": "/Users/wangzhongjie/.ohos/config/openharmony/default_subject-two_Kl4t-ZSvZeuUm9s8O-e6FIH2VFR_OaNyhDP8kPjIWgU=.p12" | ||||||
|         } |         } | ||||||
|       } |       } | ||||||
|     ], |     ], | ||||||
|  | |||||||
| @ -2,6 +2,11 @@ | |||||||
|   "apiType": 'stageMode', |   "apiType": 'stageMode', | ||||||
|   "buildOption": { |   "buildOption": { | ||||||
|     "externalNativeOptions": { |     "externalNativeOptions": { | ||||||
|  |       "abiFilters": [ | ||||||
|  |         "arm64-v8a", | ||||||
|  |         "armeabi-v7a", | ||||||
|  |         "x86_64" | ||||||
|  |       ], | ||||||
|       "path": "./src/main/cpp/CMakeLists.txt", |       "path": "./src/main/cpp/CMakeLists.txt", | ||||||
|       "arguments": "", |       "arguments": "", | ||||||
|       "cppFlags": "", |       "cppFlags": "", | ||||||
|  | |||||||
| @ -1,13 +1,15 @@ | |||||||
| { | { | ||||||
|   "lockfileVersion": 1, |   "lockfileVersion": 2, | ||||||
|   "ATTENTION": "THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY.", |   "ATTENTION": "THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY.", | ||||||
|   "specifiers": { |   "specifiers": { | ||||||
|     "@ohos/hypium@1.0.6": "@ohos/hypium@1.0.6" |     "@ohos/hypium@1.0.6": "@ohos/hypium@1.0.6" | ||||||
|   }, |   }, | ||||||
|   "packages": { |   "packages": { | ||||||
|     "@ohos/hypium@1.0.6": { |     "@ohos/hypium@1.0.6": { | ||||||
|       "resolved": "https://repo.harmonyos.com/ohpm/@ohos/hypium/-/hypium-1.0.6.tgz", |       "resolved": "https://ohpm.openharmony.cn/ohpm/@ohos/hypium/-/hypium-1.0.6.tgz", | ||||||
|       "integrity": "sha512-bb3DWeWhYrFqj9mPFV3yZQpkm36kbcK+YYaeY9g292QKSjOdmhEIQR2ULPvyMsgSR4usOBf5nnYrDmaCCXirgQ==" |       "integrity": "sha512-bb3DWeWhYrFqj9mPFV3yZQpkm36kbcK+YYaeY9g292QKSjOdmhEIQR2ULPvyMsgSR4usOBf5nnYrDmaCCXirgQ==", | ||||||
|  |       "registryType": "ohpm", | ||||||
|  |       "shasum": "3f5fed65372633233264b3447705b0831dfe7ea1" | ||||||
|     } |     } | ||||||
|   } |   } | ||||||
| } | } | ||||||
| @ -2,18 +2,19 @@ import socket from '@ohos.net.socket' | |||||||
| import util from '@ohos.util' | import util from '@ohos.util' | ||||||
| import promptAction from '@ohos.promptAction' | import promptAction from '@ohos.promptAction' | ||||||
| import TcpToByte from './utils/tcp2byte' | import TcpToByte from './utils/tcp2byte' | ||||||
| import {bytesToDecimal} from './utils/tools' | import { bytesToDecimal } from './utils/tools' | ||||||
|  | 
 | ||||||
| const TAG = '[TCP2BYTE]' | const TAG = '[TCP2BYTE]' | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
| interface RES { | interface RES { | ||||||
|   code: number|string, |   code: number | string, | ||||||
|   message?: string |   message?: string | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| const config = { | const config = { | ||||||
|   address: '114.55.125.222', |   address: '172.37.55.191', | ||||||
|   port: 50189 |   port: 40000 | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| export default async function tcp2ByteRequest(data): Promise<RES> { | export default async function tcp2ByteRequest(data): Promise<RES> { | ||||||
| @ -27,7 +28,11 @@ export default async function tcp2ByteRequest(data): Promise<RES> { | |||||||
|     console.info(TAG, 'sendData=>' + JSON.stringify(sendData)) |     console.info(TAG, 'sendData=>' + JSON.stringify(sendData)) | ||||||
| 
 | 
 | ||||||
|     try { |     try { | ||||||
|       await tcpClient.connect({address: {address, port}}) |       await tcpClient.connect({ | ||||||
|  |         address: { | ||||||
|  |           address, port | ||||||
|  |         } | ||||||
|  |       }) | ||||||
|       //发送消息
 |       //发送消息
 | ||||||
|       handSendMessage(tcpClient, data.sjbs, sendData) |       handSendMessage(tcpClient, data.sjbs, sendData) | ||||||
|     } catch (e) { |     } catch (e) { | ||||||
| @ -42,7 +47,7 @@ export default async function tcp2ByteRequest(data): Promise<RES> { | |||||||
|     //收到消息
 |     //收到消息
 | ||||||
|     tcpClient.on('message', (data) => { |     tcpClient.on('message', (data) => { | ||||||
|       const res = handReceiveMessage(tcpClient, sendData, data.message) |       const res = handReceiveMessage(tcpClient, sendData, data.message) | ||||||
|       if(res){ |       if (res) { | ||||||
|         tcpClient.close() |         tcpClient.close() | ||||||
|         resolve(res) |         resolve(res) | ||||||
|       } |       } | ||||||
| @ -68,7 +73,7 @@ export default async function tcp2ByteRequest(data): Promise<RES> { | |||||||
| function handSendMessage(client: socket.TCPSocket, type, data) { | function handSendMessage(client: socket.TCPSocket, type, data) { | ||||||
| 
 | 
 | ||||||
|   switch (type) { |   switch (type) { | ||||||
|     //开始考试 过程照片 考试结束需要分包
 |   //开始考试 过程照片 考试结束需要分包
 | ||||||
|     case '02-21-000009': |     case '02-21-000009': | ||||||
|     case '02-21-000012': |     case '02-21-000012': | ||||||
|     case '02-21-000014': |     case '02-21-000014': | ||||||
| @ -83,46 +88,47 @@ function handSendMessage(client: socket.TCPSocket, type, data) { | |||||||
|       client.send({ data: new Uint8Array(data).buffer }) |       client.send({ data: new Uint8Array(data).buffer }) | ||||||
|       break; |       break; | ||||||
| 
 | 
 | ||||||
|     default:break; |     default: | ||||||
|  |       break; | ||||||
|   } |   } | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| //处理接收的数据
 | //处理接收的数据
 | ||||||
| function handReceiveMessage(client: socket.TCPSocket, sendData, rData:ArrayBuffer):RES { | function handReceiveMessage(client: socket.TCPSocket, sendData, rData: ArrayBuffer): RES { | ||||||
| 
 | 
 | ||||||
|   const receiveData = new Uint8Array(rData) |   const receiveData = new Uint8Array(rData) | ||||||
|   //返回的消息类型
 |   //返回的消息类型
 | ||||||
|   const messageType = receiveData[1]; |   const messageType = receiveData[1]; | ||||||
|   //流水号
 |   //流水号
 | ||||||
|   const lsh =   bytesToDecimal([receiveData[2],receiveData[3]]); |   const lsh = bytesToDecimal([receiveData[2], receiveData[3]]); | ||||||
| 
 | 
 | ||||||
|   //开始补包
 |   //开始补包
 | ||||||
|   if(messageType === 0xF0){ |   if (messageType === 0xF0) { | ||||||
|     //获取消息体长度
 |     //获取消息体长度
 | ||||||
|     const messageLength = receiveData[13] |     const messageLength = receiveData[12] | ||||||
|     //分包总数
 |     //分包总数
 | ||||||
|     const packages = receiveData.slice(14, 14 + messageLength * 2); |     const packages = bytesToDecimal(receiveData.slice(13, 13 + messageLength * 2)); | ||||||
|     const forArr = new Array(messageLength).fill(1) |     const forArr = new Array(packages).fill(1) | ||||||
| 
 | 
 | ||||||
|     forArr.forEach((item,index)=>{ |     forArr.forEach((item, index) => { | ||||||
|       const start = index * 2; |       const start = index * 2; | ||||||
|       const end = start + 1; |       const end = start + 2; | ||||||
|       const packageIndex =  bytesToDecimal([packages[start],packages[end]]); |       const packageIndex = bytesToDecimal([start, end]); | ||||||
|       console.info(TAG, '补包内容' + JSON.stringify(new Uint8Array(sendData[packageIndex]))) |       console.info(TAG, '补包内容' + JSON.stringify(new Uint8Array(sendData[packageIndex]))) | ||||||
|       client.send({data:new Uint8Array(sendData[packageIndex]).buffer}); |       client.send({ data: new Uint8Array(sendData[packageIndex]).buffer }); | ||||||
|     }) |     }) | ||||||
|   }else{ |   } else { | ||||||
|     const decoder =  util.TextDecoder.create('utf-8'); |     const decoder = util.TextDecoder.create('utf-8'); | ||||||
|     const messageLength = bytesToDecimal([receiveData[9],receiveData[10]]); |     const messageLength = bytesToDecimal([receiveData[9], receiveData[10]]); | ||||||
|     const markLength = receiveData[11]; |     const markLength = receiveData[11]; | ||||||
|     const markContent = decoder.decodeWithStream(receiveData.slice(12, 12 + markLength )); |     const markContent = decoder.decodeWithStream(receiveData.slice(12, 12 + markLength)); | ||||||
|     console.info(TAG, 'markContent=>' + markContent) |     console.info(TAG, 'markContent=>' + markContent) | ||||||
|     const tipLength = receiveData[13]; |     const tipLength = receiveData[13]; | ||||||
|     const messageContent = decoder.decodeWithStream(receiveData.slice(13 + markLength, 13 + markLength + tipLength)); |     const messageContent = decoder.decodeWithStream(receiveData.slice(13 + markLength, 13 + markLength + tipLength)); | ||||||
|     console.info(TAG, 'messageContent=>' + messageContent) |     console.info(TAG, 'messageContent=>' + messageContent) | ||||||
|     return { |     return { | ||||||
|       code:markContent, |       code: markContent, | ||||||
|       message:messageContent |       message: messageContent | ||||||
|     } |     } | ||||||
|   } |   } | ||||||
| } | } | ||||||
| @ -1,6 +1,6 @@ | |||||||
| { | { | ||||||
|   "hvigorVersion": "3.0.9", |   "hvigorVersion": "3.2.4", | ||||||
|   "dependencies": { |   "dependencies": { | ||||||
|     "@ohos/hvigor-ohos-plugin": "3.0.9" |     "@ohos/hvigor-ohos-plugin": "3.2.4" | ||||||
|   } |   } | ||||||
| } | } | ||||||
| @ -1,13 +1,15 @@ | |||||||
| { | { | ||||||
|   "lockfileVersion": 1, |   "lockfileVersion": 2, | ||||||
|   "ATTENTION": "THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY.", |   "ATTENTION": "THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY.", | ||||||
|   "specifiers": { |   "specifiers": { | ||||||
|     "@ohos/hypium@1.0.6": "@ohos/hypium@1.0.6" |     "@ohos/hypium@1.0.6": "@ohos/hypium@1.0.6" | ||||||
|   }, |   }, | ||||||
|   "packages": { |   "packages": { | ||||||
|     "@ohos/hypium@1.0.6": { |     "@ohos/hypium@1.0.6": { | ||||||
|       "resolved": "https://repo.harmonyos.com/ohpm/@ohos/hypium/-/hypium-1.0.6.tgz", |       "resolved": "https://ohpm.openharmony.cn/ohpm/@ohos/hypium/-/hypium-1.0.6.tgz", | ||||||
|       "integrity": "sha512-bb3DWeWhYrFqj9mPFV3yZQpkm36kbcK+YYaeY9g292QKSjOdmhEIQR2ULPvyMsgSR4usOBf5nnYrDmaCCXirgQ==" |       "integrity": "sha512-bb3DWeWhYrFqj9mPFV3yZQpkm36kbcK+YYaeY9g292QKSjOdmhEIQR2ULPvyMsgSR4usOBf5nnYrDmaCCXirgQ==", | ||||||
|  |       "registryType": "ohpm", | ||||||
|  |       "shasum": "3f5fed65372633233264b3447705b0831dfe7ea1" | ||||||
|     } |     } | ||||||
|   } |   } | ||||||
| } | } | ||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user