我正在尝试使用在通过网络发送之前转换为流的集合在 IdTCPServer 和 IdTCPClient 之间交换数据。不幸的是,无论我如何尝试,我似乎都无法在客户端和服务器之间传递流。代码始终挂在IdTCPClient1.IOHandler.ReadStream(myStream, -1, True)行上。
我的代码的相关部分如下所示:
客户端
with ClientDataModule do
begin
try
try
intStreamSize := StrToInt(IdTCPClient1.IOHandler.ReadLn); // Read stream size
IdTCPClient1.IOHandler.ReadStream(myStream, -1, True); // Read record stream
finally
ReadCollectionFromStream(TCustomer, myStream);
end;
except
ShowMessage('Unable to read the record from stream');
end;
end;
服务器端
try
try
SaveCollectionToStream(ACustomer, MStream);
finally
MStream.Seek(0, soFromBeginning);
IOHandler.WriteLn(IntToStr(MStream.Size)); // Send stream size
IOHandler.Write(MStream, 0); // Send record stream
end;
except
ShowMessage('Unable to save the record to stream');
end;
非常感谢您在解决此问题方面的帮助。
谢谢,
丹尼尔