AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Netzwerke Delphi TIdTCPServer in einem Dienst nicht erreichbar
Thema durchsuchen
Ansicht
Themen-Optionen

TIdTCPServer in einem Dienst nicht erreichbar

Ein Thema von Jelen · begonnen am 18. Aug 2025 · letzter Beitrag vom 19. Aug 2025
Antwort Antwort
Jelen

Registriert seit: 5. Nov 2003
48 Beiträge
 
#1

TIdTCPServer in einem Dienst nicht erreichbar

  Alt Gestern, 19:18
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?
  Mit Zitat antworten Zitat
Benutzerbild von jaenicke
jaenicke

Registriert seit: 10. Jun 2003
Ort: Berlin
10.076 Beiträge
 
Delphi 12 Athens
 
#2

AW: TIdTCPServer in einem Dienst nicht erreichbar

  Alt Gestern, 23:08
Hast du denn einmal geschaut, ob der Dienst auf dem entsprechenden Port lauscht? (Admin-Kommandozeile:
Code:
netstat -abno
)

Wie sieht es mit der Firewall aus?
Sebastian Jänicke
AppCentral
  Mit Zitat antworten Zitat
Jelen

Registriert seit: 5. Nov 2003
48 Beiträge
 
#3

AW: TIdTCPServer in einem Dienst nicht erreichbar

  Alt Gestern, 23:38
netstat -abno zeigt den Dienst mit an, PID und exe-Name sind die des Dienstes:
Code:
  TCP   [::]:9000              [::]:0                 ABHÖREN        7740
 [xxxService.exe]
In der Firewall ist der Port 9000 für alle Protokolle geöffnet. Die Firewall hatte ich als Ursache ausgeschlossen, nachdem bei dem Test mit dem TIdTCPServer in einer Formularanwendung die Verbindung zustande kam.
  Mit Zitat antworten Zitat
Jelen

Registriert seit: 5. Nov 2003
48 Beiträge
 
#4

AW: TIdTCPServer in einem Dienst nicht erreichbar

  Alt Heute, 00:02
Besten Dank an dich Jaenicke, dein Hinweis auf die Firewall hat mich auf die richtige Fährte gebracht!
Außer der im Hosting des Servers einstellbaren Firewall ist dann ja auch noch dieser schicke Windows Defender da...
Den hatte ich intelligenterweise nicht berücksichtigt. Kaum schalte ich den Defender mal komplett ab, schon flutscht die Verbindung durch wie ein geölter Blitz

Das war ja mal wieder 'ne brilliante Nummer von mir. Frag mich allerdings, warum dieser Defender die Dienst-Verbindung geblockt hat und denselben Client auf demselben Port bei einer Formularanwendung durchgelassen hat
  Mit Zitat antworten Zitat
supermulti81

Registriert seit: 13. Okt 2023
35 Beiträge
 
#5

AW: TIdTCPServer in einem Dienst nicht erreichbar

  Alt Heute, 08:29
Geblockt werden Verbindungsversuche, die von Außen angefragt werden. Dein lokaler Test geht nicht durch die Firewall und funktioniert deshalb.
  Mit Zitat antworten Zitat
mjustin

Registriert seit: 14. Apr 2008
3.014 Beiträge
 
Delphi 2009 Professional
 
#6

AW: TIdTCPServer in einem Dienst nicht erreichbar

  Alt Heute, 09:03
Geblockt werden Verbindungsversuche, die von Außen angefragt werden. Dein lokaler Test geht nicht durch die Firewall und funktioniert deshalb.
Die Verbindungsversuche kamen von außen. Nur wenn der Server als Dienst lief kam es zu einem 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.
...
Michael Justin
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 20:13 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz