Delphi-PRAXiS
Seite 2 von 3     12 3      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Netzwerke (https://www.delphipraxis.net/14-netzwerke/)
-   -   Delphi Erstellten Server online registrieren (https://www.delphipraxis.net/92158-erstellten-server-online-registrieren.html)

inherited 15. Mai 2007 14:21

Re: Erstellten Server online registrieren
 
Wenn du einen Webserver dafür missbrauchen willst, brauchst du php.
Wenn es auch ein normaler Rechner irgendwo tut, kannst du das mit einer Delphi-Anwendung machen.

.chicken 15. Mai 2007 14:26

Re: Erstellten Server online registrieren
 
Ja, das Problem ist ja, dass ich hinterher den Usern eine Liste von aktiven Servern bieten will. Da ich erstens eine dynamische IP habe und zweitens mein Rechner nicht 24/7 läuft, möchte ich ihnen die Möglichkeit bieten über einen Webserver die ServerListe zu empfangen.

Wie kann ich denn php in Delphi integrieren?

DGL-luke 15. Mai 2007 14:32

Re: Erstellten Server online registrieren
 
hallo, du solltest das so machen:

PHP-skript empfängt online-meldung vom server. schreibt zeit, name und ip in datei.
wenn jetzt jemand ein anderes php-skript auf deiner seite aufruft, liest es die datei aus, und zeigt alle server, deren letzter eintrag vor weniger als x sekunden war.

die server müssen sich dann natürlich periodisch - mindestens alle x sekunden - melden.

das php solltest du nicht in delphi integrieren. der server stellt einfach eine verbindung mit dem php-skript her und sendet seine statusinformation.

z.B. indem er einfach ein php-skript aufruft und ihm die daten übergibt:

"script.php?mode=update&server=servername&password =xyz"

Das geht zum bespiel mit der IdHTTP-Komponente.

.chicken 15. Mai 2007 14:37

Re: Erstellten Server online registrieren
 
Hm...ok danke erstmal an alle.
Die grobe Vorgehensweise habe ich nun verstanden, nur wie ichs genau umsetzen soll hab ich keine Ahnung, dafür sind meine phpKentnisse zu eingerostet...
Naja dann muss ihc ma google bemühen, und wenn wer von euch weiss wo ich mich speziell hierueber informieren kann -> bidde melden ;-)

gmc616 15. Mai 2007 14:42

Re: Erstellten Server online registrieren
 
Zitat:

Zitat von .chicken
Wie kann ich denn php in Delphi integrieren?

Meines Wissens garnicht, lass mich da aber gern belehren.

Was du brauchst:
1. einen Web-Server der permanent erreichbar ist. Wie sollen sonst deine User an die Serverliste kommen.
2. PHP-Unterstützung auf dem Webserver
3. www.php.net


Alles was du tun mußt, ist eigentlich nur ein PHP-Script auf deinem WebServer zu rufen, die $_SERVER['REMOTE_ADDR'] auswerten und in eine Datei schreiben. Evtl. noch ein paar Infos dazu, die du als Parameter an das PHP-Script übergeben kannst.

Deinen Useren bietest du auf dem WebServer ein weiters PHP-Script an, welches die ServerList-Datei auswertet und in eine HTML einbaut.

Da wars eigentlich schon.

//Edit: Zu langsam ...

.chicken 15. Mai 2007 20:31

Re: Erstellten Server online registrieren
 
Habe nun folgenden Code um etwas zur Datei hinzuzufügen, aber es funktioniert nicht so wie ich will, er fügt nur die Sekunden von $timestamp hinzu....

Was muss ich nu fuer tags benutzen? o.O
Code:
<?php
  $datei = fopen("ServerListe.txt", "r+");
  $timestamp = time();
  $dateiarray = file("ServerListe.txt");
  $ip = $_POST["ip"];
  $name = $_POST["name"];
  $isin = 0;
  for ($i = 0; i < count($dateiarray); $i++) {
    $buffer = explode(";", $dateiarray[$i]);
    if ($buffer == $name) {
      $dateiarray[$i] == $name + ";" + $ip + ";" +  $timestamp + ";";
      $isin = 1;
      }
    }
  rewind($datei);
  if ($isin == 0) {
    fwrite($datei, $dateiarray + "/n" + $name + ";" + $ip + ";" +  $timestamp + ";");
  } else {
    fwrite($datei, $dateiarray);
  } 
  fclose($datei);
?>
Also mein Problem liegt darin, zu überprüfen ob ein Server schon in der Liste ist und ihn dann zu überschreiben, ich glaueb ansonsten würde ich das wohl hinkriegen....

[edit=SirThornberry]Code-Tags gesetzt - Mfg, SirThornberry[/edit]

mkinzler 15. Mai 2007 20:40

Re: Erstellten Server online registrieren
 
Schau die mal strftime() an

.chicken 15. Mai 2007 20:43

Re: Erstellten Server online registrieren
 
Höh, mein Problem liegt doch nicht in der falschen Formatierung des Timestamp...!?

.chicken 16. Mai 2007 13:58

Re: Erstellten Server online registrieren
 
Kann keiner sonst mehr was dazu sagen? :lol:

<?php
$datei = fopen("ServerListe.txt", "a+");
$Name = $_GET["name"];
$Ip = $_GET["ip"];
$timestamp = time();
fwrite($datei, "$Name;$Ip;$timestamp\n");
fclose($datei);
?>

Also damit hab ichs nun hinbekommen ganz normal Eingaben zur Datei hinzuzufügen, aber ich hab nun keine Ahnung wie ich die anderen überschreiben soll!

SirThornberry 16. Mai 2007 16:23

Re: Erstellten Server online registrieren
 
könntest du bitte die code-tags verwenden :-D


Alle Zeitangaben in WEZ +1. Es ist jetzt 02:34 Uhr.
Seite 2 von 3     12 3      

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