OK, Ihr arbeitet schon mit
IP, dann ist es nicht diese Baustelle. Eine andere Möglichkeit, welche mir beim Durchlesen von Heiko's Antwort bzgl. des Timeout so in den Kopf kommt. Melden sich die Clients denn vernünftig bei der Datenbank ab? Oder wird die Anwendung schlagartig beendet ohne ein sauberes Disconnect durchzuführen. Dann laufen die beim Server natürlich zwangsläufig irgendwann als verlustig auf. Dabei reagieren wir in unserer Anwendung sowohl auf FormClose des Hauptformulars, welches ein vernünftiges Beenden bedeutet, als auch auf die Windows-Nachricht zum Herunterfahren "procedure TdlgHauptForm.WMQueryEndSession(var Msg: TWMQueryEndSession);". Weil viele Anwender abends einfach den Rechner runterfahren ohne die Anwendung vorher zu beenden - logisch, mach ich auch nicht anders
Einzig ein Abwürgen des Tasks im Taskmanager bekommt man leider irgendwie nicht mit.
Du findest jede Menge, hoffentlich hilfreiche, Einträge über google "read errno = 10054" dazu. Vielleicht könnt Ihr mit den Zeiten dem Problem auf die Spur kommen - welcher der Clients war um die Uhr aktiv und hat was gemacht?!