AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein Delphi Eigene Online ServerListe mit PHP und Delphi
Thema durchsuchen
Ansicht
Themen-Optionen

Eigene Online ServerListe mit PHP und Delphi

Ein Thema von .chicken · begonnen am 18. Mai 2007 · letzter Beitrag vom 20. Mai 2007
Antwort Antwort
.chicken

Registriert seit: 5. Dez 2006
459 Beiträge
 
#1

Eigene Online ServerListe mit PHP und Delphi

  Alt 18. Mai 2007, 01:48
Also, ich hoffe ich kann hiermit vielleicht wem helfen, deswegen hab ich einfach mal gedacht ich poste es hier, denn nachdem ich hier im Forum immer soviel Hilfe bekomme würd ich gerne auch ein bisschen davon zurückgeben (solange meine Fähigkeiten das zulassen).

Also der folgende Code basiert hauptsächlich auf PHP, allerdings ist es damit relativ leicht möglich sich seine eigene Online-ServerListe zu erstellen.

Folgender Code wird in eine PHP-Datei hochgeladen. Er fügt einer Textdatei die entsprechenden ServerEinträge mit IP hinzu.
Dazu sollte eine entsprechende Textdatei (hier: ServerListe.txt) im selbigen Verzeichnis liegen.
Code:
<?php
  $dateiarray = file("ServerListe.txt");      //Die Datei ServerListe.txt wird als Array eingelesen
  $datei = fopen("ServerListe.txt", "w+");    //Dann wird die Datei noch zum schreiben geöffnet
  $name= str_replace(";", "", $_GET["name"]); //Der Name der in der URL als Variable übergeben wurde wird abgefragt (dabei wird ';' entfernt weil es später als Trennzeichen dient)
  $ip = $_SERVER['REMOTE_ADDR'];              //IP wird abgefragt
  $timestamp = time();                        //zuletzt werden noch die Sekunden seit 1970 (oder so? is ja auch egal) abgefragt (um später zu wissen, wann der Server sich das letzte mal beim Script gemeldet hat)
  foreach ($dateiarray as $line) {             //so hier in der Schleife wird das Array durchgegangen und jede Zeile wieder in die Datei geschrieben (außer die Zeile enthält den gleichen Namen und die gleiche IP die übermittelt wurden)
    $text = explode(';', $line);
    if ($text[0] != $name or $text[1] != $ip) {
    if ($text[2] > $timestamp - 30) {
      fwrite($datei, $line);
    }
    }
  }
  fwrite($datei, $name.';'.$ip.';'.$timestamp.";\n"); //zu guter letzt wird noch der neue Eintrag mit IP Name und den Sekunden hinzugefügt! (mit dem Trennzeichen ';' dazwischen)
  fclose($datei);                              //und die Datei geschlossen!
?>

So das ist das Script zum hinzufügen von Servern.

Nun zum abfragen selbiger.

Code:
<?php
  $dateiarray = file("ServerListe.txt");        //Ddas hier dürfte sich erstmal alles selbst erklären
  $datei = fopen("ServerListe.txt", "w+");    
  $timestamp = time();                        
  foreach($dateiarray as $line) {                //so in dieser Schleife wird zuerst für jede Zeile geprüft ob die Einträge noch aktuell sind (hier: nicht älter als 30Sekunden), wenn das der Fall ist, werden sie wieder zur Datei hinzugefügt (damit sie immer aktuell bleibt) und dann wird sie per echo-Befehl ausgegeben
    $buffer = explode(';', $line);
    if ($buffer[2] > $timestamp - 30) {
      fwrite($datei, $line);
      echo $line;
    }
  }
  fclose($datei);
?>

So, wenn man diese beiden Scripte auf einen Webserver hochläd, dann kann man zB per Indy-Komponenten (so hab ichs zumindest gemacht (IdHttp)) auf sie zugreifen.
Mit IdHttp.Post(zum hinzufügen von Servern) und IdHttp.Get(Zum Abrufen der Server), zB.
Man muss die Daten dann richtig splitten, um Name und IP zu trennen (die Sekunden dürften dann auch ziemlich unwichtig sein und können verworfen werden) und dann kann man sie zB in eine StringList eintragen. Schon hat man ne ServerListe

Naja ich hoffe ich kann damit vielleicht irgendjemand helfen. Zum Schluss sei noch zu sagen, dass ich bei diesem Script auch ein bisschen Hilfe hier im Forum erhalten habe
  Mit Zitat antworten Zitat
20. Mai 2007, 01:21
Dieses Thema wurde von "fkerber" von "Neuen Beitrag zur Code-Library hinzufügen" nach "Programmieren allgemein" verschoben.
Die Codelib ist eher für Delphi- / .Net-Codeschnipsel gedacht
Benutzerbild von ghost007
ghost007

Registriert seit: 31. Okt 2005
Ort: München
1.024 Beiträge
 
Delphi 7 Personal
 
#3

Re: Eigene Online ServerListe mit PHP und Delphi

  Alt 20. Mai 2007, 01:35
hey, hast du für die idhttp post/get ein beispiel? also welche sachen man da nacheinander angeben muss?

MfG - Ghost007
Christian
Es gibt möglich Dinge und unmöglich Dinge.
Für unmögliche braucht man lediglich etwas länger.
  Mit Zitat antworten Zitat
.chicken

Registriert seit: 5. Dez 2006
459 Beiträge
 
#4

Re: Eigene Online ServerListe mit PHP und Delphi

  Alt 20. Mai 2007, 12:30
Ja, allerdings muss ich zugeben dass ichs auch nicht so ganz geschickt gelöst habe.
Also das IdHTTP.Get ist ganz einfach:
Delphi-Quellcode:
var
  Buffer: String;
begin
  Buffer := IdHTTP.Get(URL zur Datei);
  {Jetzt kann man nacheinander den String splitten (Trennzeichen ist ';')
  wobei die Infos immer in folgender Reihenfolge stehen:
  Name;IP;Sekunden
   und die Sekunden wohl ziemlich unwichtig sein dürften!}

end;
So und das mit dem Post habe ich wie gesagt etwas "unsauber" gelöst, weil bei mir das mit den Parametern der Post-Funktion nicht geklappt hat:
Delphi-Quellcode:
{Edit: einfacher nur mit Get zu lösen, danke an JamesTKirk ;-)}
begin
  IdHTTP.Get(URL zur Datei und daran noch ?name=euerservername)
end;
Hoffe ich konnte helfen!
  Mit Zitat antworten Zitat
Benutzerbild von JamesTKirk
JamesTKirk

Registriert seit: 9. Sep 2004
Ort: München
604 Beiträge
 
FreePascal / Lazarus
 
#5

Re: Eigene Online ServerListe mit PHP und Delphi

  Alt 20. Mai 2007, 12:47
Hi!

Du könntest für's Hinzufügen von Servern auch einfach

IdHTTP.Get(URL zur Datei und daran noch ?name=euerservername); verwenden, da Post und Get einfach nur die Art der Übertragung von Daten zum Server bezeichnet. Es heißt also nicht, dass Get "empfängt" und Post "sendet". Es "senden" und "empfangen" nämlich beide.
Bei Get werden die zu übertragenden Daten in der URL mitgeliefert (-> '?=blabla') und bei Post im HTTP-Header (oder so).
Sven
[Free Pascal Compiler Entwickler]
this post is printed on 100% recycled electrons
  Mit Zitat antworten Zitat
.chicken

Registriert seit: 5. Dez 2006
459 Beiträge
 
#6

Re: Eigene Online ServerListe mit PHP und Delphi

  Alt 20. Mai 2007, 12:56
Asoo
Super danke, dann hab ich auch noch was dabei gelernt
  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 00:18 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