1、客户端发送数据
var
lvJsonStream: TJsonStream;
SS: AnsiString;
lvStream:TMemoryStream;
begin
//创建JSON类,并生成数据
lvJsonStream := TJsonStream.Create;
lvJsonStream.Json.I['cmdIndex'] := 11;
lvJsonStream.Json.S['requestID'] := 'login';
lvJsonStream.Json.S['user.id'] := AUserID;
lvJsonStream.Json.S['user.paw'] := APaw;
//生成JSON字符患
SS := lvJsonStream.getJSonString;
//转为流
lvStream := TMemoryStream.Create;
lvStream.Write(SS[1], Length(SS));
lvStream.Position := 0;
//发送
DiocpContext.WriteObject(lvStream);
end;
2、服务端接收
procedure TMyClientContext.DoContextAction(const pvObject: TObject);
var
lvCMDObj: TSimpleMsgPack;
vStream: TMemoryStream;
SS:string;
begin
lvJsonStream := TJsonStream.Create;
//获取传入的流,并转换成字符串
vStream := TMemoryStream(pvObject);
SetLength(SS, vStream.Size);
vStream.Read(SS[1], vStream.Size);
//将字符串传成JSON
lvJsonStream.Json:=SO(SS);
SS:=lvJsonStream.Json.S['requestID'];
end;
本文介绍了一个使用JSON进行客户端到服务端数据交互的例子。客户端通过构造JSON数据包并将其发送到服务端,服务端接收到数据包后解析JSON内容。示例包括了客户端如何创建JSON数据、将其转换为字符串并发送,以及服务端如何读取并解析这些数据。
2173

被折叠的 条评论
为什么被折叠?



