Hallo,
auf einem virtuellen Server mit Win Server 2022 habe ich einen Dienst, der soweit auch einwandfrei läuft. Nun soll er aber für verschiedene Clients per
TCP erreichbar sein und auf Nachrichten reagieren. Dazu habe ich ihm die
Indy TIdTCPServer eingepflanzt. Die wird auch einwandfrei gestartet.
Wenn ich dann auf dem Server selbst eine normale
VCL-Anwendung starte, kann diese mit dem Dienst kommunizieren, alles bestens.
Nun soll das Ganze aber über's Internet funktionieren. Wenn ich dieselbe
VCL-Client-Anwendung auf irgendeinem anderen Rechner laufen lasse, ist der Server-Dienst nicht erreichbar - timeout.
Nachdem ich ewig und 3 Tage nach Fehlern im Dienst gesucht habe

, habe ich den TIdTCPServer mit allem was dazugehört 1:1 in eine Test-
VCL-Anwendung gesteckt, diese auf dem Server gestartet und siehe da, es funktioniert - der Server ist von jedem externen Rechner einwandfrei erreichbar. Die Verbindung steht auch wesentlich schneller als es bei der Dienst-Geschichte dauert, bis der Client ein timeout bekommt.
Eine ständig laufende Formular-Anwendung kommt als Lösung aber nicht in Frage, der Server-Admin wäre "not amused".
Bei meinen Nachforschungen zu dem Thema bin ich darauf gestoßen, dass der Nutzerkontext vielleicht ein Problem sein könnte. Aber auch nachdem ich im SCM dem Dienst andere Anmeldeinformationen gegeben habe (Administrator-Konto), klappte es nicht.
Hat jemand eine Idee, wo das Problem liegen könnte?