![]() |
Indy - Demo Chat
Hallo zusammmen,
leider habe ich vergebens gesucht und entschuldige mich schon jetzt für die Frage, aber leider konnte ich keine Antwort finden, die mir weitergeholfen hätte. Es geht um das ReadLn des Clients .. wenn ich keine Strings vom Server bekomme hängt der Client und ich kann dann nur noch warten bis ich a. schwarz bin. b. mit dem Server eine Nachricht schicke der c. mit dem Server den Client abschiesse :-( Der Befehl an sich Msg := IdTCPClient1.ReadLn(#$0A , 250, -1); sollte eigentlich 250 mS warten und dann die Procedure meines Timers durchlaufen. Tut er aber nicht wenn vom Server nichts gesendet wird. Mein TimerInterval steht auf 500mS Mein IdTCPClient.readTimeOut steht auch auf 250 mS Kann mir bitte einer Helfen, da ich eigentlich nicht diesen DemoChat brauche, aber schon gern die Indy Komponenten benutzen würde. MFG, Dieter |
Re: Indy - Demo Chat
ein bischen mehr code wäre von Vorteil!
synonym |
Re: Indy - Demo Chat
Zitat:
Delphi-Quellcode:
reicht das fürs erste ?
procedure TForm1.Timer1Timer(Sender: TObject);
var Com, Msg : String; begin if not IdTcpClient1.Connected then exit; { Wenn hier vom Server kein String kommt, dann kommt der nie über diese Zeile } Msg := IdTCPClient1.ReadLn(#$0A , 250, -1); { also, hier hin :-( } if Msg <> '' then if Msg[1] <> '@' then begin { Not a system command } memLines.Lines.Add(Msg); end else begin { System command } Com := UpperCase(Trim(Copy(Msg, 2, Pos(':', Msg) -2))); Msg := UpperCase(Trim(Copy(Msg, Pos(':', Msg) +1, Length(Msg)))); if Com = 'CLIENTS' then lbClients.Items.CommaText := Msg; end; end; Schon mal Danke für das Interesse, Dieter [edit=r_kerber]Delphi-Tags eingefügt. Mfg, r_kerber[/edit] |
Re: Indy - Demo Chat
vielleicht überschneiden sich die zeiten...
und bevor readln ausgeführt wird versucht der timer wieder alles neu! synonym |
Re: Indy - Demo Chat
Zitat:
Auch habe ich schon aus den Indy/Misc die Komponente IdAntiFreeze ausprobiert. Das geht zwar dann mit dem senden aus dem Client heraus, aber: 1. Kann ich nicht mehr mein Fenster verschieben oder irgendwas andreres selektieren 2. nach dem beenden, was auch nur über den Server klappt mit ( client abschiessen ) kommen 1000 meldungen, dass der Client erfolgreich beendet wurde. Also kein Ergebnis mit dem ich zufieden sein könnte :-( MFG, Dieter |
Re: Indy - Demo Chat
Hallo!
Das Problem habe ich auch mit Delphi 7 (mit Delphi 6 gibt es keine Probleme). Es ist scheinbar ein Fehler in der Komponente oder so was. Wenn du nach Beiträgen mit meinem Namen suchst, dann dürftest du den Thread finden. Ich selbst habe eine Lösung mit Hilfe des IdTCPDemos (bei den Indy Demos dabei) gefunden. ReadBuffer funktioniert nämlich. mfg, EConvertError |
Alle Zeitangaben in WEZ +1. Es ist jetzt 15: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