Einzelnen Beitrag anzeigen

mjustin

Registriert seit: 14. Apr 2008
3.006 Beiträge
 
Delphi 2009 Professional
 
#9

AW: Indy TCPServer beenden mit toten Clients

  Alt 10. Jun 2012, 08:11


Der Server versucht etwas zu senden (IOHandler.Writeln('CLOSE_REQUEST@ ') Über diesen Punkt kommt er aber ohne Probleme hinweg.
Folgt nach dem

Delphi-Quellcode:

IOHandler.Writeln('CLOSE_REQUEST@ ')
noch ein sauberes Beenden der Verbindung? (Schliessen des Sockets)

Delphi-Quellcode:

AContext.Connection.Disconnect

Wenn das Protokoll geändert werden kann, wäre ein Heartbeat-Verfahren eventuell eine Verbesserung, damit der Server verloren gegangene Verbindungen schneller erkennt und abräumt.

Update:

unter http://www.delphipraxis.net/157267-i...er-thread.html

werden noch diese Zeilen regelmäßig im Server OnExecute ausgeführt:
Delphi-Quellcode:
    AContext.Connection.IOHandler.CheckForDisconnect(False, True);
    AContext.Connection.CheckForGracefulDisconnect(False);
Michael Justin
habarisoft.com

Geändert von mjustin (10. Jun 2012 um 08:54 Uhr)
  Mit Zitat antworten Zitat