![]() |
[Indy9]: TIdTCPServer/-Client: Client freeze (Timer+ReadLn)
:hi:
Wiedermal geht es um die Indys, genauer um die Indy 9 Komponenten TIdTCPServer und TIdTCPClient. Ich wollte mir mal ein wenig anschauen, wie ich es hinbekomme, Nachrichten zu versenden. Ich schaute mir also den Demo-Chat von indyprojects.org an und naja, als Anfänger scheint der mir etwas ungeeignet ;) Ich habe es inzwischen hinbekommen vom Client eine Nachricht zum Server zu schicken, kein Problem soweit. Jetzt bekam ich aber (wie die DP-Suche mir zeigte war ich nicht der Einzige :mrgreen:) zu dem Problem, dass ich beim Senden (String) von Server zum Client (später mal mehrere Clients) einen Timer zum abfragen benutzen muss, weil der Client kein OnExecute hat. Der Client pennt quasi so vor sich hin, bis man ihn an der Schulter anstuppst. Ich habe also einen Timer draufgeklatscht und die ReadLn-Abfrage reingepackt. Allerdings friert mir jetzt der Client nach der 1. Abfrage, wenn der Timer erneut ausgeführt wird, immer ein. Ich konnte darüber nichts finden, gehe aber davon aus, dass es daran liegt, das keine neuen Nachrichten vorhanden sind, die der Client empfangen könnte und somit ReadLn versucht aber nichts bekommt. Wenn meine Vermutung richtig ist, wie kann ich denn prüfen, ob eine neue Nachricht vom Server gesendet wurde und nur in dem Fall das ReadLn ausführen? Ich danke im voraus |
Re: [Indy9]: TIdTCPServer/-Client: Client freeze (Timer+Read
ich hab ein ähnliches Problem, deins wird aber soweit ich weis auf dieser Seite geklärt!
![]() |
Re: [Indy9]: TIdTCPServer/-Client: Client freeze (Timer+Read
Zitat:
Du kannst bei Readln als Parameter ein Timeout angeben. D.h., nach dem angegeben Zeiträum bricht der Client das Readln ab. Da nimmst du dann ein sehr kleines Intervall, z.B. 5 Millisekunden. |
Re: [Indy9]: TIdTCPServer/-Client: Client freeze (Timer+Read
Danke richie... Irgendwie muss ich meine Brille putzen (Hint bei ReadLn...) :mrgreen:
:thumb: friert nicht mehr ein, aber ich habe jetzt andere Probleme, aber jetzt putze ich die Brille und schaue mal nach :) |
Alle Zeitangaben in WEZ +1. Es ist jetzt 04:09 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