TBytes缓存多包数据
收到一个包,就追加进TBytes缓存,直到全部收完,再处理。
procedure bytesAppendBuf(var bytes: TBytes; const buf: Pointer; count: Integer);
var
newSize, pos: integer;
begin
pos := Length(bytes);
if pos = 0 then
newSize := count
else
newSize := pos + count;
SetLength(bytes, newsize);
Move(buf^, bytes[pos], count);
end;