Erstellten Server online registrieren
Also, ich hatte mir überlegt, wie ich bei meinen selbst erstellten Programmen, die übers Internet funktionieren eine ServerListe anzeigen lassen kann.
Dabei kam mir dann eben die Idee, den Server einfach online auf einer Homepage registrieren zu lassen, wenn er erstellt wird und wenn er wieder geschlossen wird ihn auch online wieder zu löschen. Ist sowas realisierbar? Und wenn, dann wie? |
Re: Erstellten Server online registrieren
Also dafür brauchst du eine serverseitige Anwendung. php bietet sich dafür an...
|
Re: Erstellten Server online registrieren
Also ich hab vor Uhrzeiten mal hp gelernt aber nun ziemlich alles vergessen...is sowas schwer zu realisieren oder geht das relativ einfach? Brauch ich dazu mysql?
|
Re: Erstellten Server online registrieren
das dürfte supereasy sein, Wenn die Anzahl der daten gering ist kann man auch einfache Textdateien verwenden (flat files)
|
Re: Erstellten Server online registrieren
ok, dann such ich mal das internet durch ;-)
|
Re: Erstellten Server online registrieren
Wie will man aber verhindern, dass jemand zum Spaß einfach so über den Browser neue Server einfügt?
|
Re: Erstellten Server online registrieren
Ja, das habe ich auch shcon überlegt, entweder mim passwort oder man hat halt pech ^^
Aber wüsste nich was jemand davon hätte ;-) Ne aber was anderes, kann mir wer sagen wonach genau ich suchen soll oder mir n Link geben wo erklaert wird wie sowas geht? Habe nach Flat File gesucht und da nix brauchbares gefunden. Evtl liegts an meinem Englisch ;-) |
Re: Erstellten Server online registrieren
wenn du nach fopen suchst in der php-referenz solltest du früh oder später ein beispiel finden wie man textdateien liest und schreibt.
[Edit]Man findet sogar in der dp etwas wenn man nach fopen sucht :shock: [/Edit] |
Re: Erstellten Server online registrieren
Ich hab das mal mit Delphi und den Indys realisiert. Das ganze lief über TCP ab. Sobald ein Spiel registriert war, musste der Server alle 30 Sekunden ein "Heartbeat" senden, sonst wurde er aus der Liste gelöscht.
|
Re: Erstellten Server online registrieren
Kannste mir vielleicht ne kurze Erklärung liefern? Ich werd nich gaz schlau daraus, ob ich das nun durch php-Dateien lösen muss oder wie oder was :D
|
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. |
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? |
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. |
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 ;-) |
Re: Erstellten Server online registrieren
Zitat:
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 ... |
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:
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....
<?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); ?> [edit=SirThornberry]Code-Tags gesetzt - Mfg, SirThornberry[/edit] |
Re: Erstellten Server online registrieren
Schau die mal strftime() an
|
Re: Erstellten Server online registrieren
Höh, mein Problem liegt doch nicht in der falschen Formatierung des Timestamp...!?
|
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! |
Re: Erstellten Server online registrieren
könntest du bitte die code-tags verwenden :-D
|
Re: Erstellten Server online registrieren
ja aber welche denn fuer php? ^^
kann mir denn nich bitte wer helfen? :( |
Re: Erstellten Server online registrieren
Es klappt einfach nicht, die Daten aus dem Array einem Text hinzuzufügen, damit hinterher nicht alles überschrieben wird!!!!
Edit: Nach laaaaaangem hin und her hats nun geklappt...
SQL-Code:
habs einfach ma mit den sql tags versucht...
<?php
$dateiarray = file("ServerListe.txt"); $datei = fopen("ServerListe.txt", "w+"); $name = $_GET["name"]; $ip = $_GET["ip"]; $timestamp = time(); foreach ($dateiarray as $line) { $text = explode(';', $line); if ($text[0] != $name or $text[1] != $ip) { fwrite($datei, $line); } } fwrite($datei, $name.';'.$ip.';'.$timestamp."\n"); fclose($datei); ?> |
Re: Erstellten Server online registrieren
Hallo,
am besten funktionieren wohl die [c ]-tags ;-)
Code:
$dateiarray = file("ServerListe.txt");
$datei = fopen("ServerListe.txt", "w+"); $name = $_GET["name"]; $ip = $_GET["ip"]; $timestamp = time(); foreach ($dateiarray as $line) { $text = explode(';', $line); if ($text[0] != $name or $text[1] != $ip) { fwrite($datei, $line); } } fwrite($datei, $name.';'.$ip.';'.$timestamp."\n"); fclose($datei); |
Re: Erstellten Server online registrieren
Merk ich mir fürs nächte mal ;-)
Danke ^^ |
Re: Erstellten Server online registrieren
Die IP zu übergeben ist sinnlos, da man an die IP so oder so mit $_SERVER['REMOTE_ADDR'] rankommt. ;)
Es wäre auch besser, wenn man aus dem Namen alle ";" herausfiltert, damit man später beim Auslesen keine Probleme kriegt. Zum Beispiel so:
Code:
$dateiarray = file("ServerListe.txt");
$datei = fopen("ServerListe.txt", "w+"); $name= str_replace(";", "", $_GET["name"]); $ip = $_SERVER['REMOTE_ADDR']; $timestamp = time(); foreach ($dateiarray as $line) { $text = explode(';', $line); if ($text[0] != $name or $text[1] != $ip) { fwrite($datei, $line); } } fwrite($datei, $name.';'.$ip.';'.$timestamp."\n"); fclose($datei); |
Re: Erstellten Server online registrieren
Das stimmt natürlich...wusste ich auch eigentlich weil ich mir n Script geschrieben habe um die IP anzeigen zu lassen :wall:
Danke für den Hinweis ^^ Edit: Und das herausfiltern habe ich schon in Dephi erledigt ;-) |
Re: Erstellten Server online registrieren
Zitat:
|
Re: Erstellten Server online registrieren
Hier ein Tipp für PHP:
SelfPHP Dise seite hat mir sehr geholfen wieder in PHP reinzukommen. Mfg Real Thunder |
Re: Erstellten Server online registrieren
Hmm...wenn ers ueber den Webbrowser aufruft, daaaaaaaannn.............is das bloed :P
Wird geändert :D Edit: Danke übrigens für die Seite, die hat mich damals schon oft weitergebracht aber hatte sich irgendwie aus meinem Gedächtnis gestrichen :P Dafür hats sie nun nen Platz in den Favoriten :) ;-) |
Re: Erstellten Server online registrieren
Hmm... alles was auf selfphp steht, gibts auf php.net auch ;-)
php.net/funktionsname beamt einen auch sofort zur doku. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 03:37 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