![]() |
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:
Server:
FTCPClient.IOHandler.Write(locSendStream);
locResponse := FTCPClient.IOHandler.ReadLn;
Delphi-Quellcode:
Versuche ich aber als Antwort einen Stream zu versenden...
procedure TCPServerExecute(AContext: TIdContext);
[...] AContext.Connection.IOHandler.ReadStream(locReceiveStream, AContext.Connection.IOHandler.InputBuffer.Size); AContext.Connection.IOHandler.WriteLn('Welcome!'); Client:
Delphi-Quellcode:
Server:
FTCPClient.IOHandler.Write(locSendStream);
FTCPClient.IOHandler.ReadStream(locReceiveStream, FTCPClient.IOHandler.InputBuffer.Size);
Delphi-Quellcode:
...dann wird im Client ReadStream() bereits ausgeführt obwohl der Server noch nicht gesendet hat.
procedure TCPServerExecute(AContext: TIdContext);
[...] AContext.Connection.IOHandler.ReadStream(locReceiveStream, AContext.Connection.IOHandler.InputBuffer.Size); [...] //Verarbeite Stream, erstelle Antwort AContext.Connection.IOHandler.Write(locSendStream); 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