Einzelnen Beitrag anzeigen

hsg

Registriert seit: 24. Apr 2006
Ort: Wustermark
354 Beiträge
 
Delphi 10.3 Rio
 
#1

Indy TCPServer beenden mit toten Clients

  Alt 8. Jun 2012, 12:16
Hallo zusammen,

ich kämpfe gerade mit einem TIdTCPServer(Indy10), der sich mit unseren PDAs übers WLan unterhält. Leider kommt es vor, dass der Mitarbeiter mit seinem PDA den Bereich des WLan verlässt oder der PDA aus anderen Gründen die Verbindung zum Netzwerk verliert.

Kommt der PDA wieder ins Netz, meldet er sich beim Server auf einem neuen Port an und gut ist. Im Server ist der PDA zweimal aufgelistet, macht aber keine Probleme. Wird der Server nun beendet, bekommen beide Client-Verbindungen die Abmeldung und der Server lässt sich dann sauber beenden.

Anders ist es allerdings, wenn der PDA beim Beenden des Servers nicht mehr erreichbar ist. Dann versucht der Server die Verbindung zu beenden, bleibt dabei aber hängen.

Beim Server ist die TerminateWaitTime gesetzt,
in den jeweiligen Connections die ConnectTimeout und die ReadTimeout.

Leider bekomme ich kein Disconnect vom Client, auch keine Exception im Server.

Was kann ich tun, damit der Server sauber beendet werden kann?

Gruß
Jörg

Umgebung: Server mit Indy10.1 in BDS 2006 geschrieben.
  Mit Zitat antworten Zitat