Der Timeout für den Aufbau einer
TCP/
IP Verbindung liegt im Betriebssystem bei 30 sec.
Wenn Du also nicht mindestens diese Zeit wartest werden immer mehr Sockets geöffnet, bis es dann knallt.
Ich habe viele Programme die über
TCP/
IP miteinander kommunizieren, auch Dienste.
Es hat sich bewährt, höchstens alle 60 sec einen Verbindungsversuch zu unternehmen.
Bei Diensten sollte man allerdings mit blockierenden Sockets und Threads arbeiten. Das ist wesentlich effizienter.
Ein Timer und ereignisgesteuerte Sockets haben in einem Service nichts verloren.
Gruss