Delphi + php scripte verbinden?

Skourer

Mitglied
Also... ich hab 0 ahnung von delphi ;) habe aber in der schule scho mit TP gearbeitet...

nun soll ich hier einen chat so umbauen das er hat mit einer oberfläsche von Delphi läuft... (man ich hoffe ihr peilt was ich will *g*)

der chat ist vom prinzip her schon fertig (läuft momentan mit einer in flash erstellten oberfläsche)... d.h. das sowas wie user speichern, texte speichern, zurückgabe an den chat usw. schon in php programiert ist..

habe ich denn nun die möglichkeit diese scripte in eine in Delphi erstellte oberfläsche einzubinden und schlüssel dateien alle 1sekunde vom chat abfragen zu lassen das die user usw. aktuallisiert werden?


mfg sko :)
 
-

Hallo Skourer.

Du könntest die TWebBrowser Komponente in dein Programm einfügen und darüber Daten zum PHP Script schicken. Die Antwort vom Script steht dann im Quelltext vom TWebBrowser. Diesen musst du dann nur noch richtig parsen und ausgeben.

Caminus
 
Du könntest mit den Indy-Komponenten über das HTTP-Protokoll auf eine bestimmte URL zugreifen und von da aus Daten auslesen. Damit Du allerdings immer die aktuellen Daten hast, müsstest Du dabei einen Timer verwenden, der in regelmässigen Abständen Daten abfragt.
Das hat aber ein paar Nachteile:
1. Es wird nicht in Echtzeit synchronisiert, sondern nur dann, wenn der Timer die Daten abfragt. Ausserdem entsteht durch den Timer eine unter Umständen relativ grosse Belastung des Systems.
2. Wenn Du ständig eine Verbindung zum Server aufbaust und ein PHP-Skript ausführen lässt, dann stellt das auch für den Server eine Belastung dar. Die meisten Webspace-Anbieter verbieten sowas schon in ihren AGB's. Abgesehen davon würde durch den permanenten Datentransfer ein nicht ganz unbeachtliches Trafficvolumen zusammenkommen.

Für ein einigermassen performantes Chat-System solltest Du lieber auf Socket-Komponenten zurückgreifen, damit kannst Du Echtzeitverbindungen herstellen und ausserdem können diese Komponenten auf bestimmte Ereignisse reagieren (z.B. wenn eine Nachricht ankommt, diese verarbeiten). Die Möglichkeit hättest Du mit einem externen PHP-Skript nicht, sondern müsstest erst die Daten abrufen (dauert je nach Bandbreite unterschiedlich lange) und dann verarbeiten (kann je nach Umfang der Datenmenge auch etwas dauern).

Kurz: Möglich ist es, aber nicht besonders sinnvoll.
 
Zurück