public int Resolve(byte[] buffer) { _callback.test(); var messages = new List <Message>(); var offset = 0; Int16 dotsnumber = 640;//可手动更改此处,如需动态适应不同模式,请增加代码和入口 while (offset < buffer.Length - 10) { Result res = FindHead(buffer, offset); if (res == Result.NotComplete) { break; } if (res == Result.NoHeadFound) { offset++; } if (res == Result.Success) { offset += 22; Message message; if (ResolveMessage(buffer, ref offset, dotsnumber, out message)) { messages.Add(message); } } } if (messages.Count != 0) { _callback.AddPoints(messages); } return(offset); }