msgpack配合FIREDAC传输多表数据

msgpack配合FIREDAC传输多表数据

procedure TForm1.Button1Click(Sender: TObject);
var
ms, ms2: TMemoryStream;
pack: TSimpleMsgPack;
begin
ms := TMemoryStream.Create;
FDQuery1.SaveToStream(ms, sfBinary); // FDQuery1数据序列为流
ms2 := TMemoryStream.Create;
FDQuery2.SaveToStream(ms2, sfBinary); // FDQuery2数据序列为流
pack := TSimpleMsgPack.Create;
pack.ForcePathObject('table1').LoadBinaryFromStream(ms); //msgpack加载流
pack.ForcePathObject('table2').LoadBinaryFromStream(ms2); //msgpack加载流2
pack.EncodeToStream(); //msgpack转为流后,网络传输流
pack.DecodeFromStream(); //客户端接收流后,流转为msgpack
pack.ForcePathObject('table1').SaveBinaryToStream(ms);
pack.ForcePathObject('table2').SaveBinaryToStream(ms2);
FDMemTable1.LoadFromStream(ms); //还原数据
FDMemTable2.LoadFromStream(ms2);
end;

posted @ 2018-09-12 10:02  delphi中间件  阅读(548)  评论(0编辑  收藏  举报