Zwar kann man mit der Clietkomponente senden, aber nicht gleichtzeiig was zurücklesen, weil das der wartende ReaLn-Thread abfangen würde.
Das ist doof, weil man dann inderekt alles über den wartenden Thread machen müsste.
Das geht hier also nicht, während der ReadLn-Thread (siehe oben) wartet:
Delphi-Quellcode:
With AClient do begin
if Connected then begin
IOHandler.DefStringEncoding := IndyTextEncoding_UTF8;
try
Temppassw := gns ('Password', FileInfo);
IOHandler.WriteLn (FileInfo); // FileInfo contains the File to load
except
end;
Tm:= TMemoryStream.Create;
//sleep (1000); // Let the Server time to read the file
try
//while connected do begin
InSize := IOHandler.ReadLn.ToInteger;
IOHandler.ReadStream (TM, InSize, false);
//end;
except
end;
end;
end;
Hier gibt es eine
Exception und der wartende ReadLn-Thread fängt mir hier das ReadLn ab (kriege also nicht den Wert von Insize).