Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Netzwerke (https://www.delphipraxis.net/14-netzwerke/)
-   -   Delphi resourcen schonendes readln vom Server (https://www.delphipraxis.net/201-resourcen-schonendes-readln-vom-server.html)

theomega 19. Jun 2002 16:52


resourcen schonendes readln vom Server
 
Hallo
ich versuche gerade in Delphi mit den INDY VCL ein Server, Client Gespann hinzubekommen. Nur wie prüfe ich am besten ob der Server etwas gesendet hat (am Client)?

bis jetz habe ich das in einem Timer so:
Code:
if client.Connected then begin;
  s:='';
  repeat;
  s := client.ReadLn;
  vera(s);
  until s='';
end;
wobie vera() die Sache auf den Bildschirm ausgibt. Denn Timer hab ich auf 1000 mSek gesetzt. Jetzt kriecht mein Programm aber nur noch so vor sich hin. Ist ja auch klar, jede Sekunde wird geprüft ob was da ist.
Gibt es da keine andere Möglichkeit als mit dem Timer?

Danke

b.dominik

jbg 19. Jun 2002 17:24

  • Rufst du in vera() auch einmal Application.ProcessMessages auf.
  • Die Funktion Client.ReadLn bietet auch noch zwei Parameter, wovon der letzte das Timeout angibt. Du könntest somit folgendes schreiben:
    s := Client.ReadLn('', 100); // 100ms max. warten

Kamil 16. Aug 2002 23:08

Mit indy kenne ich mich nicht so gut aus, weil sie (soweit ich weiß) im blocking-modus arbeiten. Ich empfehle dir die TClientSocket Komponente zu verwenden.
Bei ihr setzt du das OnRead Ereignis, das nur dann aufgerufen wird, falls Daten vorhanden sind.

theomega 17. Aug 2002 11:12

Die Lösungen habe mir gereicht, es hat funktioniert.


Alle Zeitangaben in WEZ +1. Es ist jetzt 22:00 Uhr.

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