26 lines
1.3 KiB
JavaScript
26 lines
1.3 KiB
JavaScript
// 构造发送包,传入参数nowData和resendData
|
||
// nowData为当前数据段,resendData为重发数据段
|
||
// nowData和resendData都为数组,数组元素的内容为:信息类型编号 + 信息内容长度 + 信息内容
|
||
module.exports = (app, nowData, resendData) => {
|
||
const utils = app.middleware.utils;
|
||
utils.intrinsic.packageNumber++;
|
||
let now = new Date();
|
||
let sendTime = utils.packageItem(2, now.getFullYear()) +
|
||
utils.packageItem(1, now.getMonth() + 1) +
|
||
utils.packageItem(1, now.getDate());
|
||
let packageMsg = utils.packageItem(2, app.config.socketClient.id) +
|
||
utils.packageItem(2, app.config.socketClient.destination) +
|
||
utils.packageItem(4, utils.intrinsic.packageNumber) +
|
||
utils.packageItem(1, nowData.length) +
|
||
utils.packageItem(2, utils.arrItemLength(nowData)) +
|
||
(resendData ? '01' : '00') +
|
||
(resendData ? utils.packageItem(1, resendData.length) : '00') +
|
||
(resendData ? utils.packageItem(2, utils.arrItemLength(resendData)) : '0000') +
|
||
sendTime +
|
||
utils.arrTotalItem(nowData) +
|
||
(resendData ? sendTime : '') +
|
||
(resendData ? utils.arrTotalItem(resendData) : '') +
|
||
utils.intrinsic.separateIdentifiers;
|
||
const buffer = Buffer.from(packageMsg, 'hex');
|
||
return buffer;
|
||
}; |