Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Netzwerke (https://www.delphipraxis.net/14-netzwerke/)
-   -   Delphi Indy10, Probleme beim Versenden von Streams (https://www.delphipraxis.net/68650-indy10-probleme-beim-versenden-von-streams.html)

Dummbatz 3. Mai 2006 10:55


Indy10, Probleme beim Versenden von Streams
 
Hallo zusammen!

Ich benutze in meinem Client/Server-Projekt TIdTCPClient und TIdTCPServer, um Daten hin- und herzuschicken.

Folgendes funktioniert dabei wunderbar:
Client:
Delphi-Quellcode:
FTCPClient.IOHandler.Write(locSendStream);
locResponse := FTCPClient.IOHandler.ReadLn;
Server:
Delphi-Quellcode:
procedure TCPServerExecute(AContext: TIdContext);
[...]
AContext.Connection.IOHandler.ReadStream(locReceiveStream, AContext.Connection.IOHandler.InputBuffer.Size);
AContext.Connection.IOHandler.WriteLn('Welcome!');
Versuche ich aber als Antwort einen Stream zu versenden...
Client:
Delphi-Quellcode:
FTCPClient.IOHandler.Write(locSendStream);
FTCPClient.IOHandler.ReadStream(locReceiveStream, FTCPClient.IOHandler.InputBuffer.Size);
Server:
Delphi-Quellcode:
procedure TCPServerExecute(AContext: TIdContext);
[...]
AContext.Connection.IOHandler.ReadStream(locReceiveStream, AContext.Connection.IOHandler.InputBuffer.Size);
[...] //Verarbeite Stream, erstelle Antwort
  AContext.Connection.IOHandler.Write(locSendStream);
...dann wird im Client ReadStream() bereits ausgeführt obwohl der Server noch nicht gesendet hat.
Sprich: Lese ich einen String wird gewartet, lese ich einen Stream nicht!

Was mache ich falsch? Hat jemand eine Idee?

MfG Dummbatz.


Alle Zeitangaben in WEZ +1. Es ist jetzt 07:10 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz