/* * 粘包处理 */ function stick(rawData){ rawData = ConvertToUint8Array(rawData); var obj = { valid: '', surplus: '' }; var start = -1; for(var i = 0; i < rawData.length; i++){ if(rawData[i] == 0xFE && rawData.length > 1){ start = i; break; } } if(start == -1){ obj.valid = ArrayToHexString(ConvertToUint8Array(rawData)); }else if (start > 0) { obj.valid = ArrayToHexString(ConvertToUint8Array(rawData, 0, start)); obj.surplus = ArrayToHexString(ConvertToUint8Array(rawData, start, rawData.length)); }else if(rawData[1] + 5 == rawData.length){ obj.valid = ArrayToHexString(ConvertToUint8Array(rawData, 0, rawData[1] + 5)); }else if(rawData[1] + 5 < rawData.length){ obj.valid = ArrayToHexString(ConvertToUint8Array(rawData, 0, rawData[1] + 5)); obj.surplus = ArrayToHexString(ConvertToUint8Array(rawData, rawData[1] + 5, rawData.length)); }else if(rawData[1] + 5 > rawData.length){ obj.surplus = ArrayToHexString(ConvertToUint8Array(rawData, 0, rawData.length)); } var json = JSON.stringify(obj); return json; }