Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Netzwerke (https://www.delphipraxis.net/14-netzwerke/)
-   -   Indy in einem Dienst (https://www.delphipraxis.net/178958-indy-einem-dienst.html)

hesch21 5. Feb 2014 16:13

Indy in einem Dienst
 
Hallo allerseits
Nach mehreren Tagen erfolgloser Suche brauche ich einen Tipp. Ich habe eine Applikation sowohl als Dienst als auch als normale EXE. Aufgabe: Steuerung meines Alarmierungssystems. Es besteht demzufolge aus mehreren Indy-TCP/IP-Server- und Client-Komponenten. Vorab die gute Nachricht: Die EXE funktioniert absolut perfekt. Und selbstverständlich habe ich alles, was möglich ist, in eine separate Unit ausgelagert, welche ich sowohl im Dienst als auch in der EXE verwende. Und auch der Rest ist in beiden Applikationen soweit wie möglich baugleich.
Nun zum Dienst. Auch der funktioniert eigentlich, aber nur mit TCP/IP-Verbindungen vom gleichen Rechner. Ich bekomme einfach keine Verbindung von einem anderen Rechner im Netz zustande.
Ich habe bereits alles, was mir eingefallen ist, (Bindings, Ports, etc.) überprüft und da dran kann es nicht liegen, zumal ich dieselben Einstellungen verwende wie bei der EXE. Und logischerweise versuche ich es von einem Rechner, der es mit der EXE problemlos kann. Und anzumerken wäre noch, dass die EXE auf demselben Rechner betrieben wird, wie der Dienst, aber natürlich nicht gleichzeitig.

Hat jemand eine Idee?

mjustin 5. Feb 2014 16:27

AW: Indy in einem Dienst
 
Zitat:

Zitat von hesch21 (Beitrag 1246837)
Nun zum Dienst. Auch der funktioniert eigentlich, aber nur mit TCP/IP-Verbindungen vom gleichen Rechner. Ich bekomme einfach keine Verbindung von einem anderen Rechner im Netz zustande.
Ich habe bereits alles, was mir eingefallen ist, (Bindings, Ports, etc.) überprüft und da dran kann es nicht liegen, zumal ich dieselben Einstellungen verwende wie bei der EXE.

Was sagt denn netstat, wird der vom Server geöffnete Port angezeigt? Ist die IP Adresse, an die der Server gebunden ist, laut netstat auch 0.0.0.0 (oder die eines extern erreichbaren Netzwerkadapters)?

Delphianer111 5. Feb 2014 16:31

AW: Indy in einem Dienst
 
Das sieht für mich nach einem Problem mit den Benutzerrechten aus. Hast du mal den Dienst unter einem Benutzerkonto, welches auf beiden Rechnern (Server / Client) vorhanden ist, gestartet?

mjustin 5. Feb 2014 16:41

AW: Indy in einem Dienst
 
Mögliche Ursache: Firewall. Sie ist eventuell nur für die eigenständig laufende Anwendung freigeschaltet, d.h. die von Delphi erstellte EXE Datei in einem bestimmten Verzeichnis. (http://stackoverflow.com/questions/10942916)

Welchen (Socket) Fehler meldet der Client eigentlich?

hesch21 6. Feb 2014 12:38

AW: Indy in einem Dienst
 
Besten Dank mal für Eure Antworten.
zu MJustin: Mit Netstat -a sind die verwendeten Ports auf dem Rechner mit dem laufenden Dienst zu finden (IP des Rechners, abhören). Auf dem oder den Clients ist allerdings nichts zu finden. Also konnte es eigentlich wirklich nur die Firewall sein. Bei Windows-7 etwas suchen nach der Firewall, den Dienst eintragen und schon funktioniert es.
D A N K E


Alle Zeitangaben in WEZ +1. Es ist jetzt 19:03 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz