Einzelnen Beitrag anzeigen

Windwalker

Registriert seit: 9. Mär 2009
72 Beiträge
 
#4

Re: TIdTCPServer: OnExecute-Schleife trotz Disconnect

  Alt 4. Sep 2009, 12:44
Danke schonmal!

Aber leider bringt's das bei mir nicht.
Zum einen habe ich keinen "AThread"-Parameter, sondern "AContext" und dieser besitzt in seiner Connection kein CheckForDisconnect, sondern nur das CheckForGracefulDisconnect (ich nutze Delphi 2006).

Aber auch, wenn ich nur das CheckForGracefulDisconnect und das Sleep einbaue, wird das OnExecute-Event immer wieder erneut ausgelöst.
Ich habe bei meiner Recherche dazu auch folgendes gefunden:
Zitat:
Jede Verbindung, die ein TIdTCPServer entgegen nimmt, startet einen eigenen Thread. Und dieser Thread hat eben eine OnExecute Prozedur. Diese wird so lange wiederholt aufgerufen, wie die Verbindung besteht.

Und weil sich dein Programm aufhängt:
Ich rate mal, bau ein

Sleep(1); am Ende der OnExecute Prozedur ein.
Also scheint meine Verbindung noch zu bestehen, ob ich bei der Verarbeitung meines Disconnect-Kommandos ein
client.Context.Connection.Disconnect(True); mache.

Über weitere Hilfe freue ich mich sehr!

Danke,
Sascha.
  Mit Zitat antworten Zitat