TBytes缓存多包数据
TBytes缓存多包数据
收到一个包,就追加进TBytes缓存,直到全部收完,再处理。
procedure Append(var s: rawbytestring; const buf; len: Integer); var newSize, pos: integer; begin pos := Length(s) + 1; if pos = 1 then newSize := len else newSize := Length(s) + len; SetLength(s, newSize); Move(buf, s[pos], len); inc(pos, len); end; procedure Append(var bytes: TBytes; const buf; len: Integer); var newSize, pos: integer; begin pos := Length(bytes); if pos = 0 then newSize := len else newSize := pos + len; SetLength(bytes, newSize); Move(buf, bytes[pos], len); inc(pos, len); end;
本文来自博客园,作者:{咏南中间件},转载请注明原文链接:https://www.cnblogs.com/hnxxcxg/p/13264786.html