Hi,
habe hirzu ein Frage wenn ich einen Stream vom Server zum Client schicken will.
Der Client hat einen eigenen Thread wo er mit InputBufferIsEmpty überprüft ob Daten vorhanden sind.
Sind nun Daten vorhanden speichert er sie in einem Stream (Server schickt auch einen Stream):
Delphi-Quellcode:
MyIdTCPClient.IOHandler.InputBufferToStream(fileStream);
EventCallbackProcedure(fileStream); //Send to MainForm
Nun habe ich das Problem, dass der Stream den der Server schickt z.B . 22KB groß ist.
Der Client bekommt aber nur z.B. 11KB. Somit ist der Stream noch nicht vollständig.
Wenn ich es so versuche:
Delphi-Quellcode:
repeat
MyIdTCPClient.IOHandler.InputBufferToStream(fileStream);
Sleep(10);
until MyIdTCPClient.IOHandler.InputBufferIsEmpty;
EventCallbackProcedure(fileStream); //Send to MainForm
Kommt mein Stream zerstückelt an:
Zitat:
Stream received, size: 11060
Stream received, size: 13339
Wie kann man das am besten machen?