| 1234567891011121314151617181920212223242526272829303132 |
- /*
- * 粘包处理
- */
- 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;
- }
|