Einzelnen Beitrag anzeigen

schwa226

Registriert seit: 4. Apr 2008
400 Beiträge
 
#1

Indy Server -> Client Stream

  Alt 21. Jan 2010, 09:24
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?
Delphi 2010, Update 4 & 5
  Mit Zitat antworten Zitat