【发布时间】:2012-11-09 19:55:22
【问题描述】:
我需要从服务器向客户端发送一个动态对象数组。一个数组示例,它包含 Figure 类的对象及其坐标、颜色等信息。
我试图用这样的东西来发送数据:
for i := 0 to ServerSocket.Socket.ActiveConnections - 1 do
begin
ServerSocket.Socket.Connections[i].SendText(some values); // then parsing this text to get values
end;
但我认为这样做真的很糟糕。那么,请您告诉我如何发送和接收一些对象数组的正确方法(使用IdTCPClient/Server 或Client/ServerSockets)?
【问题讨论】:
-
客户端在什么平台/语言上运行?那也是德尔福吗?
-
@SteveMayne 是的,它也是 Delphi。
-
在 Delphi 中没有标准的方法来腌制/编组对象(据我所知)。您可以考虑使用 SOAP 进行这种通信:stackoverflow.com/questions/6415437/…
-
@Steve,在 Delphi 中有
JSON marshaling,但在 Delphi 7 中还没有。 -
@Danil,根本不需要将这些序列化数据存储到文件中。将它们存储在内存中(简单地存储在一些变量或一些复杂的缓冲区中)肯定很好,而且效率更高。
标签: delphi delphi-7 object-serialization