![]() |
TCP-Chat-Client hängt sich auf ..
Hallo DPler
ich hab mir mal so ein kleines ChatProggi mit Client und Server , als einzelne Programme zusammengebastelt .. wenn ich mit dem Client zum Server connecte ist alles wunderbar .. nur wenn ich vom Client zum Server ne nachricht schicke , freezed mein Client und manchmal sogar WinXP .. in meinem Client hab ich einen TCPClient zum Lesen der Nachrichten mit Timer ; und einen zum Verschicken der Nachrichten , der connected, schickt und disconnected wieder. der Timer zum Lesen ist auf 500ms eingestellt ; und noch ein Problem : wenn ich eine Nachricht verschickt habe , lassen sich zwar Nachrichten dank dem AntiFreeze noch verschicken , aber das Programm lässt sich nichtmehr verschieben es gab zwar schon einige Leute mit der selben(ähnlichen Frage , aber ihnen wurden die fragen nicht beantwortet .. (ist mir nur so aufgefallen , also nichts gegen irgendjemanden) Hoffe auf baldige Antwort CU |
Re: TCP-Chat-Client hängt sich auf ..
nachtrag:
der Chat ist mit den INDYs gemacht sorry ... vergessen :angle: |
Re: TCP-Chat-Client hängt sich auf ..
Hallo NixChecker... (?! ;)
Du wirst doch Deinem Namen nicht alle ehre machen, oder? ;) Hast Du schon mal ein kleineres TimeOut probiert? Es kann leicht Überschneidungen geben, wenn das Intervall des Timers schon recht klein gesetzt ist (z.B. auf 1000) - ich halte es mit 500ms sehr hoch (ich arbeite mit Werten von 10 - maximal 100) Dass sich Dein Betriebssystem aufhängt halte ich für sehr unwahrscheinlich. MfG Michael Wollert |
Re: TCP-Chat-Client hängt sich auf ..
Hi,
kann sein dass es daran liegt, dass ich mit den Indy TCP/IP- Sachen noch nicht viel gearbeitet habe, aber kann man das Empfangen von Nachrichten nicht im OnRead- Event der jew. Komponente bewerkstelligen? Oder meint ihr mit Timer was anderes als die Kompo mit dem Uhr-Symbol unter "System"? Bis dann, S - tefano |
Re: TCP-Chat-Client hängt sich auf ..
Hiho,
IdTCPServer - hier gibt es das Ereignis "OnExecute". Immer wenn Daten "reinkommen" und Du nicht auf diese "wartest" (durch ein ReadLn z.B.) wird dieses ausgelöst. IdTCPClient - hier musst Du Dich selbst um die Datenabholung kümmern. Hierfür verwende ich normalerweise eine TTimer, den ich auf 1 Sekunde stelle. Dann liest Du per ReadLn, kontrollierst ob was empfangen wurde und arbeitest Deinen Code ab. @S-tefano: Ja, mit Timer meinte ich exakt diese Komponente. Hoffe geholfen zu haben. Michael Wollert |
Re: TCP-Chat-Client hängt sich auf ..
Moinsen!
also ich hab das alles mal ausprobiert, was ihr hier rein geschrieben habt. Allerdings hängt sich mien Client immer noch auf. Habe Indy 9, Delphi 7 und WinXP. Selbst die Demo hängt sich auf. Hab das Timeout auf 100, 500 und 1000 gestellt. Den Interval vom, Timer hab cih auch geändert, aber wirklich gebrahct hat das nix. So wie es aussieht, hängt sich das ding immer auf, wenn keine Daten vorhanden sind. Sprich er (bei der Demo z.B.) bekommt die Anmelde Sequenz und die Willkommens Nachricht und dann ist schluss. Dann steht das Prog. Ist sehr mysteriös. Man sollte bei Indy echt mal ein OnExecute Event mit einbauen. Weil mit Timer find ich das net so schön ;). Aber das ja auch nu egal. Auf jeden bleibt daws Proggy imemr hängen. Jemand ne Idee woran das liegen könnte? Wäre super wenn mir einer helfen kann. Gruss Killian |
Re: TCP-Chat-Client hängt sich auf ..
Hi,
habe mir nicht alles durchgelesen aber zeig doch mal den CODE dann ist es meistens leichter den Fehler zu eleminieren! @wardz T-2 TAge :cheers: |
Re: TCP-Chat-Client hängt sich auf ..
Anstatt mit einem Timer zu arbeiten sollte man Threads verwenden!
Dann gibt's keine Probleme mehr. |
Re: TCP-Chat-Client hängt sich auf ..
Zitat:
Mit den Threads hab ich es noch net versucht...ich probier es mal und berichte :wink: Danke schonmal bis heirhin :-D |
Re: TCP-Chat-Client hängt sich auf ..
si ist es bei mir auch... also mit der demo, soballt sich die clients mit dem server verbinden friehren diese ein, also man hat dann keine rückmeldung mehr.. wenn ich aber mit dem server ne nachricht an einen clienten schicke, kann man diese lesen aber der clinte funtz immer noch net, also man kann nichts anklicken
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:47 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