Compare commits
7 Commits
5717c83aa7
...
097711c46c
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
097711c46c | ||
|
|
32e66a83be | ||
|
|
5d367da241 | ||
|
|
21dec3fff1 | ||
|
|
d4188fb3d7 | ||
|
|
1a890f3e96 | ||
|
|
b966891f35 |
@ -4,13 +4,13 @@
|
||||
{
|
||||
"name": "default",
|
||||
"material": {
|
||||
"certpath": "/Users/surenjun/.ohos/config/openharmony/auto_ohos_default_subject-two_com.oh.dts.cer",
|
||||
"storePassword": "0000001BE4BBADDF656A884E7A7BB5FD51F64FBB61DD24A944FEA969482DD693210ED5FF3D29F13642E3A3",
|
||||
"certpath": "/Users/wangzhongjie/.ohos/config/openharmony/default_subject-two_Kl4t-ZSvZeuUm9s8O-e6FIH2VFR_OaNyhDP8kPjIWgU=.cer",
|
||||
"storePassword": "0000001B1A6C605B348CE1F76970E037662E7240FC9A88762FF9CC0FBF41CD85BB9F44F66A7002A0A4226D",
|
||||
"keyAlias": "debugKey",
|
||||
"keyPassword": "0000001BDEFFDC280B45617E7FC447CB21F2D133540301F543454643D3F5E9F6E5ED2A583A7FA92B260433",
|
||||
"profile": "/Users/surenjun/.ohos/config/openharmony/auto_ohos_default_subject-two_com.oh.dts.p7b",
|
||||
"keyPassword": "0000001B0C7AC8946180EE4BBCB5880D04DF499C741EBA9485672DD1C6902D3944018F866199FFD1B10B30",
|
||||
"profile": "/Users/wangzhongjie/.ohos/config/openharmony/default_subject-two_Kl4t-ZSvZeuUm9s8O-e6FIH2VFR_OaNyhDP8kPjIWgU=.p7b",
|
||||
"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',
|
||||
"buildOption": {
|
||||
"externalNativeOptions": {
|
||||
"abiFilters": [
|
||||
"arm64-v8a",
|
||||
"armeabi-v7a",
|
||||
"x86_64"
|
||||
],
|
||||
"path": "./src/main/cpp/CMakeLists.txt",
|
||||
"arguments": "",
|
||||
"cppFlags": "",
|
||||
|
||||
@ -1,13 +1,15 @@
|
||||
{
|
||||
"lockfileVersion": 1,
|
||||
"lockfileVersion": 2,
|
||||
"ATTENTION": "THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY.",
|
||||
"specifiers": {
|
||||
"@ohos/hypium@1.0.6": "@ohos/hypium@1.0.6"
|
||||
},
|
||||
"packages": {
|
||||
"@ohos/hypium@1.0.6": {
|
||||
"resolved": "https://repo.harmonyos.com/ohpm/@ohos/hypium/-/hypium-1.0.6.tgz",
|
||||
"integrity": "sha512-bb3DWeWhYrFqj9mPFV3yZQpkm36kbcK+YYaeY9g292QKSjOdmhEIQR2ULPvyMsgSR4usOBf5nnYrDmaCCXirgQ=="
|
||||
"resolved": "https://ohpm.openharmony.cn/ohpm/@ohos/hypium/-/hypium-1.0.6.tgz",
|
||||
"integrity": "sha512-bb3DWeWhYrFqj9mPFV3yZQpkm36kbcK+YYaeY9g292QKSjOdmhEIQR2ULPvyMsgSR4usOBf5nnYrDmaCCXirgQ==",
|
||||
"registryType": "ohpm",
|
||||
"shasum": "3f5fed65372633233264b3447705b0831dfe7ea1"
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -2,18 +2,19 @@ import socket from '@ohos.net.socket'
|
||||
import util from '@ohos.util'
|
||||
import promptAction from '@ohos.promptAction'
|
||||
import TcpToByte from './utils/tcp2byte'
|
||||
import {bytesToDecimal} from './utils/tools'
|
||||
import { bytesToDecimal } from './utils/tools'
|
||||
|
||||
const TAG = '[TCP2BYTE]'
|
||||
|
||||
|
||||
interface RES {
|
||||
code: number|string,
|
||||
code: number | string,
|
||||
message?: string
|
||||
}
|
||||
|
||||
const config = {
|
||||
address: '114.55.125.222',
|
||||
port: 50189
|
||||
address: '172.37.55.191',
|
||||
port: 40000
|
||||
}
|
||||
|
||||
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))
|
||||
|
||||
try {
|
||||
await tcpClient.connect({address: {address, port}})
|
||||
await tcpClient.connect({
|
||||
address: {
|
||||
address, port
|
||||
}
|
||||
})
|
||||
//发送消息
|
||||
handSendMessage(tcpClient, data.sjbs, sendData)
|
||||
} catch (e) {
|
||||
@ -42,7 +47,7 @@ export default async function tcp2ByteRequest(data): Promise<RES> {
|
||||
//收到消息
|
||||
tcpClient.on('message', (data) => {
|
||||
const res = handReceiveMessage(tcpClient, sendData, data.message)
|
||||
if(res){
|
||||
if (res) {
|
||||
tcpClient.close()
|
||||
resolve(res)
|
||||
}
|
||||
@ -68,7 +73,7 @@ export default async function tcp2ByteRequest(data): Promise<RES> {
|
||||
function handSendMessage(client: socket.TCPSocket, type, data) {
|
||||
|
||||
switch (type) {
|
||||
//开始考试 过程照片 考试结束需要分包
|
||||
//开始考试 过程照片 考试结束需要分包
|
||||
case '02-21-000009':
|
||||
case '02-21-000012':
|
||||
case '02-21-000014':
|
||||
@ -83,46 +88,47 @@ function handSendMessage(client: socket.TCPSocket, type, data) {
|
||||
client.send({ data: new Uint8Array(data).buffer })
|
||||
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 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[12]
|
||||
//分包总数
|
||||
const packages = bytesToDecimal(receiveData.slice(13,13 + messageLength*2));
|
||||
const packages = bytesToDecimal(receiveData.slice(13, 13 + messageLength * 2));
|
||||
const forArr = new Array(packages).fill(1)
|
||||
|
||||
forArr.forEach((item,index)=>{
|
||||
forArr.forEach((item, index) => {
|
||||
const start = index * 2;
|
||||
const end = start + 2;
|
||||
const packageIndex = bytesToDecimal([start,end]);
|
||||
const packageIndex = bytesToDecimal([start, end]);
|
||||
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{
|
||||
const decoder = util.TextDecoder.create('utf-8');
|
||||
const messageLength = bytesToDecimal([receiveData[9],receiveData[10]]);
|
||||
} else {
|
||||
const decoder = util.TextDecoder.create('utf-8');
|
||||
const messageLength = bytesToDecimal([receiveData[9], receiveData[10]]);
|
||||
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)
|
||||
const tipLength = receiveData[13];
|
||||
const messageContent = decoder.decodeWithStream(receiveData.slice(13 + markLength, 13 + markLength + tipLength));
|
||||
console.info(TAG, 'messageContent=>' + messageContent)
|
||||
return {
|
||||
code:markContent,
|
||||
message:messageContent
|
||||
code: markContent,
|
||||
message: messageContent
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -1,6 +1,6 @@
|
||||
{
|
||||
"hvigorVersion": "3.0.9",
|
||||
"hvigorVersion": "3.2.4",
|
||||
"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.",
|
||||
"specifiers": {
|
||||
"@ohos/hypium@1.0.6": "@ohos/hypium@1.0.6"
|
||||
},
|
||||
"packages": {
|
||||
"@ohos/hypium@1.0.6": {
|
||||
"resolved": "https://repo.harmonyos.com/ohpm/@ohos/hypium/-/hypium-1.0.6.tgz",
|
||||
"integrity": "sha512-bb3DWeWhYrFqj9mPFV3yZQpkm36kbcK+YYaeY9g292QKSjOdmhEIQR2ULPvyMsgSR4usOBf5nnYrDmaCCXirgQ=="
|
||||
"resolved": "https://ohpm.openharmony.cn/ohpm/@ohos/hypium/-/hypium-1.0.6.tgz",
|
||||
"integrity": "sha512-bb3DWeWhYrFqj9mPFV3yZQpkm36kbcK+YYaeY9g292QKSjOdmhEIQR2ULPvyMsgSR4usOBf5nnYrDmaCCXirgQ==",
|
||||
"registryType": "ohpm",
|
||||
"shasum": "3f5fed65372633233264b3447705b0831dfe7ea1"
|
||||
}
|
||||
}
|
||||
}
|
||||
Loading…
x
Reference in New Issue
Block a user