Einzelnen Beitrag anzeigen

Benutzerbild von Harry Stahl
Harry Stahl

Registriert seit: 2. Apr 2004
Ort: Bonn
2.538 Beiträge
 
Delphi 11 Alexandria
 
#14

AW: Server-Antwort an mehrere Clients senden mit Indy

  Alt 18. Jun 2015, 14:06
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).
  Mit Zitat antworten Zitat