![]() |
*gelöst* Delphi Programm <-> Web Oberfläche //Kommunik
Hiho,
Ich bin gerade am Überlegen für ein kleines Delphi Programm welches auf einem Windows Server läuft ein "Webinterface" zu schreiben. Webinterface ist eigentlich ein zu großer Begriff - eher ist es eine kleine Seite mit villeicht maximal 2-3 Buttons die man im Browser drückt und daraufhin das Delphi Programm die jeweilige Aufgabe erledigt. Das Delphi Programm und ein Apache Server laufen auf ein und dem selben System. Mein Problem ist nun die Kommunikation zwischen der html/php Seite und dem Delphi Programm. Wie kann ich in PHP/Java Script oder einer ähnlichen Scriptsprache eine Information an mein Delphi Programm senden? Es ist auch nicht erforderlich eine Information vom Delphi Programm zurück an die Seite zusenden, da der Benutzer keine Rückmeldung benötigt. Meine bisherigen Überlegungen gingen hin zu einer Textdatei die durch PHP auf Button druck mit jeweiligem Inhalt erstellt werden könnte. Das Delphi Programm könnte in einer Schleife nach einer solchen Datei im Verzeichnis suchen, falls gefunden bearbeiten und anshcließend löschen. Dieser Weg erscheint mir allerdings unsauber und ist wohl auch nicht für Zeitkritische Aufträge zu gebrauchen. Gibt es einen anderen Weg die Informationen von der Webseite an das Delphi Programm auf selbem Host zu übergeben? Danke schonmal Grüße Dark |
Re: Delphi Programm <-> Web Oberfläche // Kommunikatio
Ich würde an deiner Stelle ein TCP Server in das Delphiprogramm integrieren und dann per PHP-Skript darauf zugreifen. So habe ich, ein ähnliches Problem gelöst.
Gruß, Real-TTX |
Re: Delphi Programm <-> Web Oberfläche // Kommunikatio
Das verstehe ich leider nicht so ganz, wie würde die Kommunikation dann aussehen?
|
Re: Delphi Programm <-> Web Oberfläche // Kommunikatio
Warum machst Du die Oberfläche nicht mit IntraWeb?
|
Re: Delphi Programm <-> Web Oberfläche // Kommunikatio
Zitat:
Der TCP Server ist deinem Fall ja Bestandteil von deinem Delphi Programm. Und über TCP kannst du ja bequem jegliche art von Daten austauschen. Hier ein PHP Beispiel für den Zugriff auf dein TCP Server :
Code:
Oder was verstehst du daran nicht?
<?php
$port = 21000; // >1024 $fp = fsockopen("tcp://127.0.0.1", $port, $errno, $errstr); // Verbindung aufbauen if (!$fp) { echo "ERROR: $errno - $errstr \n"; // Falls ein Fehler aufgetreten ist } else { fwrite($fp, "help\n"); // Hier der String der an dein Delphiprogramm gesendet werden soll (Vorzugsweise noch ein CR) echo fread($fp, 26); // Hier wird die Antwort ausgegeben fclose($fp); } ?> |
Re: Delphi Programm <-> Web Oberfläche // Kommunikatio
- Intraweb fällt eigentlich doch weg, nachdem die "Weboberfläche" nur ein Addon ist
Ist die Kommunikation Webserver <> Anwendung notwendig? Ansonsten hätte ich halt gleich einen SocketServer (oder Indy Webserver) auf die Form geklatscht, am Port 80 gelauscht und die Requests entsprechend der aktion geprüft. Und halt per Default ein klein Wenig HTML zurückgegeben. |
Re: Delphi Programm <-> Web Oberfläche // Kommunikatio
Oder man erweitert PHP mit einer in Delphi-geschriebenen-Extension.
![]() |
Re: Delphi Programm <-> Web Oberfläche // Kommunikatio
Wie wärs mit einem Automatisierungsobjekt in Delphi?
Das kannst du dann mit
Code:
ganz bequem initialisieren und dann einfach die Methoden wie gewohnt aufrufen.
new COM("Deine Klasse")
|
Re: Delphi Programm <-> Web Oberfläche // Kommunikatio
Zitat:
![]() Wenn die Browser nicht allzu älteren Datums sind, können mit JavaScript (sofern aktiviert) XML Requests aus dem Browser an einen Server gesendet werden. Die Antwort des Servers kann dann 'asynchron' empfangen werden. Server wäre in diesem Fall das Delphi Programm mit einem eingebauten IdHTTPServer auf einem eigenen Port (da der Apache Webserver vermutlich den Standardport 80 bereits belegt). Vorteil der Lösung ist, dass XMLHttpRequest bereits in neueren Browsern unterstützt wird. Ein Nachteil ist, dass es keine standardisierte API gibt. Der Artikel der Wikipedia gehat darauf auch im Quelltextbeispiel ein. |
Re: Delphi Programm <-> Web Oberfläche // Kommunikatio
Danke für die zahlreichen Antworten!
Das meiste läuft wie ich sehe bisher darauf hinaus eine Art Webserver durch das Delphi Programm bereitzustellen und durch verschiedene Protokolle Daten zu versenden. Zitat:
Zitat:
Zitat:
Zitat:
Zitat:
Zitat:
Nochmals danke für die vielen Anregungen werde mich mal beim einen oder anderen weiter Informieren! Gruß |
Alle Zeitangaben in WEZ +1. Es ist jetzt 15:16 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